Module: Trailblazer::Operation::Dispatch::ClassMethods

Defined in:
lib/trailblazer/operation/dispatch.rb

Instance Method Summary collapse

Instance Method Details

#callback(name = :default, constant = nil, &block) ⇒ Object



22
23
24
25
26
27
# File 'lib/trailblazer/operation/dispatch.rb', line 22

def callback(name=:default, constant=nil, &block)
  return callbacks[name] unless constant or block_given?

  callbacks[name] ||= Class.new(constant || Disposable::Callback::Group).extend(Representable::Cloneable) # FIXME: why Representable?
  callbacks[name].class_eval(&block) if block_given?
end