123456789_123456789_123456789_123456789_123456789_

Module: AbstractController::Helpers::Resolution

Do not use. This module is for internal use only.
Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Extended In:
Included In:
Defined in: actionpack/lib/abstract_controller/helpers.rb

Instance Method Summary

Instance Method Details

#all_helpers_from_path(path)

[ GitHub ]

  
# File 'actionpack/lib/abstract_controller/helpers.rb', line 64

def all_helpers_from_path(path)
  helpers = Array(path).flat_map do |_path|
    names = Dir["#{_path}/**/*_helper.rb"].map { |file| file[_path.to_s.size + 1..-"_helper.rb".size - 1] }
    names.sort!
  end
  helpers.uniq!
  helpers
end

#helper_modules_from_paths(paths)

[ GitHub ]

  
# File 'actionpack/lib/abstract_controller/helpers.rb', line 73

def helper_modules_from_paths(paths)
  modules_for_helpers(all_helpers_from_path(paths))
end

#modules_for_helpers(modules_or_helper_prefixes)

[ GitHub ]

  
# File 'actionpack/lib/abstract_controller/helpers.rb', line 49

def modules_for_helpers(modules_or_helper_prefixes)
  modules_or_helper_prefixes.flatten.map! do |module_or_helper_prefix|
    case module_or_helper_prefix
    when Module
      module_or_helper_prefix
    when String, Symbol
      helper_prefix = module_or_helper_prefix.to_s
      helper_prefix = helper_prefix.camelize unless helper_prefix.start_with?(/[A-Z]/)
      "#{helper_prefix}Helper".constantize
    else
      raise ArgumentError, "helper must be a String, Symbol, or Module"
    end
  end
end