class Suricate::DelegationCallback
Public Class Methods
new(*callbacks)
click to toggle source
# File lib/suricate/delegation_callback.rb, line 3 def initialize(*callbacks) callbacks.each do |callback| define_callback(callback) end end
Public Instance Methods
call(callback_name, *args)
click to toggle source
# File lib/suricate/delegation_callback.rb, line 9 def call(callback_name, *args) callback = instance_variable_get(:"@#{callback_name}_callback") callback.call(*args) if callback end
Private Instance Methods
define_callback(callback)
click to toggle source
# File lib/suricate/delegation_callback.rb, line 16 def define_callback(callback) define_singleton_method callback.to_sym do |&block| instance_variable_set(:"@#{callback}_callback", block) end end