Module: Trax::Model::Mixins::CachedFindBy::ClassMethods
- Defined in:
- lib/trax/model/mixins/cached_find_by.rb
Instance Method Summary collapse
- #cached_find_by(**params) ⇒ Object
- #cached_where(**params) ⇒ Object
- #clear_cached_find_by(**params) ⇒ Object
- #clear_cached_where(**params) ⇒ Object
Instance Method Details
#cached_find_by(**params) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/trax/model/mixins/cached_find_by.rb', line 8 def cached_find_by(**params) cache_key = ::Trax::Model::CacheKey.new(self.name.underscore.pluralize, '.find_by', **params) ::Trax::Model.cache.fetch(cache_key, cache_key.) do self.find_by(cache_key.search_params) end end |
#cached_where(**params) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/trax/model/mixins/cached_find_by.rb', line 16 def cached_where(**params) cache_key = ::Trax::Model::CacheKey.new(self.name.underscore.pluralize, '.where', **params) ::Trax::Model.cache.fetch(cache_key, cache_key.) do self.where(cache_key.search_params).to_a end end |
#clear_cached_find_by(**params) ⇒ Object
24 25 26 27 28 |
# File 'lib/trax/model/mixins/cached_find_by.rb', line 24 def clear_cached_find_by(**params) cache_key = ::Trax::Model::CacheKey.new(self.name.underscore.pluralize, '.find_by', **params) ::Trax::Model.cache.delete(cache_key) end |
#clear_cached_where(**params) ⇒ Object
30 31 32 33 34 |
# File 'lib/trax/model/mixins/cached_find_by.rb', line 30 def clear_cached_where(**params) cache_key = ::Trax::Model::CacheKey.new(self.name.underscore.pluralize, '.where', **params) ::Trax::Model.cache.delete(cache_key) end |