Module: CallableTree::Node::Internal::Strategyable::ClassMethods

Defined in:
lib/callable_tree/node/internal/strategyable.rb

Instance Method Summary collapse

Instance Method Details

#store_strategy(key, config) ⇒ Object



67
68
69
70
71
72
73
74
75
# File 'lib/callable_tree/node/internal/strategyable.rb', line 67

def store_strategy(key, config)
  raise ::CallableTree::Error, 'Strategy class is required. [:klass]' unless config[:klass]

  key = key.to_sym
  config[:alias] = key unless config[:alias]
  config[:factory] = DEFAUTL_FACTORY unless config[:factory]
  Strategyable.__send__(:strategy_configs)[key] = config
  Strategyable.__send__(:define_strategy_methods, key, config)
end