Module: Eventador
- Included in:
- Proc
- Defined in:
- lib/eventador.rb,
lib/eventador/version.rb
Defined Under Namespace
Classes: Callback
Constant Summary collapse
- VERSION =
'1.0.1'
Instance Method Summary collapse
Instance Method Details
#callback(callable, *rest) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/eventador.rb', line 14 def callback(callable, *rest) @callbacks ||= ::Hash.new do |h, method_name| h[method_name] = Class.new(Callback) do define_method(method_name) do |&block| @result = block.nil? ? true : block.call(*args) end define_method("#{method_name}?") { true } define_method(:to_s) { "Callback(#{method_name})" } end end ret = @callbacks[callable].new(rest) call(ret) ret.result end |