class RailsBestPractices::Core::Route
Attributes
action_name[R]
controller_name[R]
namespaces[R]
Public Class Methods
new(namespaces, controller_name, action_name)
click to toggle source
# File lib/rails_best_practices/core/routes.rb, line 21 def initialize(namespaces, controller_name, action_name) @namespaces = namespaces # mappings can be specified by e.g. # post 'some/:pattern' => 'controller#action' if action_name.is_a?(String) && action_name =~ /\A(\w+)#(\w+)\z/ controller_name = Regexp.last_match(1) action_name = Regexp.last_match(2) end if controller_name entities = controller_name.split('/') @namespaces += entities[0..-2] if entities.size > 1 @controller_name = entities.last end @action_name = action_name end
Public Instance Methods
controller_name_with_namespaces()
click to toggle source
# File lib/rails_best_practices/core/routes.rb, line 39 def controller_name_with_namespaces if controller_name namespaces.map { |namespace| "#{namespace.camelize}::" }.join('') + "#{controller_name.camelize}Controller" else namespaces.map(&:camelize).join('::') + 'Controller' end end
to_s()
click to toggle source
# File lib/rails_best_practices/core/routes.rb, line 47 def to_s "#{controller_name_with_namespaces}\##{action_name}" end