Module: FlavourSaver::Helpers

Defined in:
lib/flavour_saver/helpers.rb

Defined Under Namespace

Classes: Decorator, Defaults

Class Method Summary collapse

Class Method Details

.decorate_with(context, helper_names = [], locals = {}) ⇒ Object



105
106
107
108
109
110
111
112
113
114
# File 'lib/flavour_saver/helpers.rb', line 105

def decorate_with(context, helper_names=[], locals={})
  helpers = if helper_names.any?
              helper_names = helper_names.map(&:to_sym)
              registered_helpers.select { |k,v| helper_names.member? k }.merge(locals)
            else
              helpers = registered_helpers
            end
  helpers = helpers.merge(locals)
  Decorator.new(helpers, context)
end

.deregister_helper(*names) ⇒ Object



95
96
97
98
99
# File 'lib/flavour_saver/helpers.rb', line 95

def deregister_helper(*names)
  names.each do |name|
    registered_helpers.delete(name.to_sym)
  end
end

.register_helper(method, &b) ⇒ Object



87
88
89
90
91
92
93
# File 'lib/flavour_saver/helpers.rb', line 87

def register_helper(method,&b)
  if method.respond_to? :name
    registered_helpers[method.name.to_sym] = method
  elsif b
    registered_helpers[method.to_sym] = b
  end
end

.registered_helpersObject



83
84
85
# File 'lib/flavour_saver/helpers.rb', line 83

def registered_helpers
  @registered_helpers ||= {}
end

.reset_helpersObject



101
102
103
# File 'lib/flavour_saver/helpers.rb', line 101

def reset_helpers
  @registered_helpers = {}
end