Class: WithConditions::OptionMerger
- Inherits:
- BasicObject
- Defined in:
- lib/with_conditions/options_merger.rb
Instance Method Summary collapse
-
#initialize(context, if:, unless:) ⇒ OptionMerger
constructor
A new instance of OptionMerger.
Constructor Details
#initialize(context, if:, unless:) ⇒ OptionMerger
Returns a new instance of OptionMerger.
5 6 7 8 9 |
# File 'lib/with_conditions/options_merger.rb', line 5 def initialize(context, if:, unless:) @context = context @if_conds = Array(::Kernel.binding.local_variable_get(:if)) @unless_conds = Array(::Kernel.binding.local_variable_get(:unless)) end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, **kwargs) ⇒ Object (private)
13 14 15 16 17 |
# File 'lib/with_conditions/options_merger.rb', line 13 def method_missing(method, *, **kwargs, &) kwargs[:if] = @if_conds + Array(kwargs[:if]) kwargs[:unless] = @unless_conds + Array(kwargs[:unless]) @context.__send__(method, *, **kwargs, &) end |