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