Class: FlowObject::Callbacks
- Inherits:
-
Object
- Object
- FlowObject::Callbacks
- Defined in:
- lib/flow_object/callbacks.rb
Overview
Storage for users callbacks
Defined Under Namespace
Classes: Iteration
Constant Summary collapse
- NOOP =
proc {}.freeze
Instance Method Summary collapse
-
#initialize(list) ⇒ Callbacks
constructor
A new instance of Callbacks.
Constructor Details
#initialize(list) ⇒ Callbacks
Returns a new instance of Callbacks.
51 52 53 54 55 56 57 58 59 |
# File 'lib/flow_object/callbacks.rb', line 51 def initialize(list) @callbacks = Hash.new { |hash, key| hash[key] = NOOP } each_callback(list) do |callback, callback_alias| define_singleton_method(callback) do |&block| block.nil? ? @callbacks[callback] : @callbacks[callback] = block end singleton_class.class_eval { alias_method(callback_alias, callback) } if callback_alias end end |