← Back to context

Comment by wood-porch

8 months ago

Will this correctly retrieve 0 values? AFAIK 0 is falsey in Ruby

``` return nil unless entry ```

No, Ruby is more strict than that. Only nil and false are falsely.

  • Doesn't that shift the problem to caching false then :D

    • you can probably always just do something like:

        def no_items?
          !items.present?
        end
        
        def items
          # something lone
        end
      
        memoize :items, ttl: 60, max_size: 10`
      

      just makes sure the expensive operation results in a truthy value, then add some sugar for the falsey value, done.