class Callback::Chain

Public Class Methods

new() click to toggle source
# File lib/action_callback/callback.rb, line 13
def initialize
  HOOKS.each do |cb_hook|
    instance_variable_set("@_#{cb_hook}_chain", new_chain)
  end
end

Public Instance Methods

append(hook_name, mth, hook_mth) click to toggle source
# File lib/action_callback/callback.rb, line 19
def append(hook_name, mth, hook_mth)
  chain = get_chain(hook_name)
  chain[mth] << hook_mth
end

Private Instance Methods

get_chain(hook_name) click to toggle source
# File lib/action_callback/callback.rb, line 31
def get_chain(hook_name)
  instance_variable_get("@_#{hook_name}_chain")
end
get_hook(hook_name, mth) click to toggle source
# File lib/action_callback/callback.rb, line 26
def get_hook(hook_name, mth)
  chain = get_chain(hook_name)
  chain[mth].dup
end
new_chain() click to toggle source
# File lib/action_callback/callback.rb, line 35
def new_chain
  Hash.new { |h, k| h[k] = Set.new }
end