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

Included in:
CallableTree::Node::Internal
Defined in:
lib/callable_tree/node/internal/strategyable.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

DEFAUTL_FACTORY =
proc do |klass, *_args, matchable:, terminable:, **_kwargs|
  klass.new(matchable: matchable, terminable: terminable)
end
@@strategy_configs =
{
  seek: {
    klass: Strategy::Seek,
    alias: :seekable,
    matchable: true,
    terminable: true,
    factory: DEFAUTL_FACTORY
  },
  broadcast: {
    klass: Strategy::Broadcast,
    alias: :broadcastable,
    matchable: true,
    terminable: false,
    factory: DEFAUTL_FACTORY
  },
  compose: {
    klass: Strategy::Compose,
    alias: :composable,
    matchable: true,
    terminable: false,
    factory: DEFAUTL_FACTORY
  }
}

Class Method Summary collapse

Class Method Details

.included(mod) ⇒ Object



7
8
9
# File 'lib/callable_tree/node/internal/strategyable.rb', line 7

def self.included(mod)
  mod.extend ClassMethods
end