# File lib/action_controller/metal/helpers.rb, line 92 def all_helpers_from_path(path) helpers = [] Array.wrap(path).each do |_path| extract = /^#{Regexp.quote(_path.to_s)}\/?(.*)_helper.rb$/ helpers += Dir["#{_path}/**/*_helper.rb"].map { |file| file.sub(extract, '\1') } end helpers.sort! helpers.uniq! helpers end
Declares helper accessors for controller attributes. For example, the following adds new name and name= instance methods to a controller and makes them available to the view:
attr_accessor :name helper_attr :name
attrs - Names of attributes to be converted into helpers.
# File lib/action_controller/metal/helpers.rb, line 70 def helper_attr(*attrs) attrs.flatten.each { |attr| helper_method(attr, "#{attr}=") } end
Provides a proxy to access helpers methods from outside the view.
# File lib/action_controller/metal/helpers.rb, line 75 def helpers @helper_proxy ||= ActionView::Base.new.extend(_helpers) end
Overwrite modules_for_helpers to accept :all as argument, which loads all helpers in helpers_path.
args - A list of helpers
array - A normalized list of modules for the list of helpers provided.
# File lib/action_controller/metal/helpers.rb, line 87 def modules_for_helpers(args) args += all_application_helpers if args.delete(:all) super(args) end
Generated with the Darkfish Rdoc Generator 2.