Class: ComposableOperations::ComposedOperation::OperationFactory

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/composable_operations/composed_operation.rb

Instance Method Summary collapse

Constructor Details

#initialize(operation_class, options = {}) ⇒ OperationFactory

Returns a new instance of OperationFactory.



6
7
8
9
# File 'lib/composable_operations/composed_operation.rb', line 6

def initialize(operation_class, options = {})
  super(operation_class)
  @_options = options
end

Instance Method Details

#new(context, *input) ⇒ Object



11
12
13
14
15
16
# File 'lib/composable_operations/composed_operation.rb', line 11

def new(context, *input)
  input = input.shift(arity)
  __getobj__.new *input, Hash[Array(@_options).map do |key, value|
    [key, value.kind_of?(Proc) ? context.instance_exec(&value) : value]
  end]
end