Module: Moneta::OptionSupport Private
- Included in:
- Defaults
- Defined in:
- lib/moneta/option_support.rb
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
Instance Method Summary collapse
-
#expires(expires) ⇒ OptionMerger
Return Moneta store with default expiration time.
-
#prefix(prefix) ⇒ Transformer
Return Moneta store with prefixed keys.
-
#raw ⇒ OptionMerger
Return Moneta store with default option raw: true.
-
#with(options = {}, &block) ⇒ Moneta store
Return Moneta store with default options or additional proxies.
Instance Method Details
#expires(expires) ⇒ OptionMerger
Return Moneta store with default expiration time
65 66 67 |
# File 'lib/moneta/option_support.rb', line 65 def expires(expires) with(expires: expires, only: [:store, :create, :increment, :merge!]) end |
#prefix(prefix) ⇒ Transformer
Return Moneta store with prefixed keys.
Prefixes add up, so:
56 57 58 |
# File 'lib/moneta/option_support.rb', line 56 def prefix(prefix) Transformer.new(self, key: :prefix, prefix: prefix) end |
#raw ⇒ OptionMerger
Return Moneta store with default option raw: true
36 37 38 39 40 41 42 43 |
# File 'lib/moneta/option_support.rb', line 36 def raw @raw ||= begin store = with(raw: true, only: [:load, :store, :create, :delete, :values_at, :slice, :fetch_values, :merge!]) store.instance_variable_set(:@raw, store) store end end |
#with(options = {}, &block) ⇒ Moneta store
Return Moneta store with default options or additional proxies
For legacy reasons, it is permitted to pass a :prefix option, which will behave the same as using the #prefix method:
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/moneta/option_support.rb', line 16 def with( = {}, &block) adapter = self if block builder = Builder.new(&block) builder.adapter(adapter) adapter = builder.build.last end if prefix = .delete(:prefix) adapter = adapter.prefix(prefix) end !.empty? ? OptionMerger.new(adapter, ) : adapter end |