module CampingHooks::ClassMethods
Public Instance Methods
get_hooks()
click to toggle source
# File lib/tarpaulin/camping/filter.rb, line 17 def get_hooks @hooks ||= {} end
hook(hook_pair, &block)
click to toggle source
# File lib/tarpaulin/camping/filter.rb, line 21 def hook(hook_pair, &block) hook_sym = hook_pair.keys.first hook_actions = hook_pair.values.first instance_eval <<-EOT def #{hook_sym}(actions, &block) actions = [actions] unless actions.respond_to?(:each) actions.each do |action| set_hook_value(:#{hook_sym}, [action, block]) end end EOT send(hook_sym, hook_actions, &block) end
set_hook_key(k)
click to toggle source
# File lib/tarpaulin/camping/filter.rb, line 7 def set_hook_key(k) @hooks ||= {} @hooks[k] ||= [] end
set_hook_value(k, v)
click to toggle source
# File lib/tarpaulin/camping/filter.rb, line 12 def set_hook_value(k, v) set_hook_key(k) @hooks[k] << v end