module AppleCore::ActionController::ResourceNaming

Constants

CONTROLLER_RESOURCE_NAME_PATTERN

Public Class Methods

included(base) click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 43
def self.included(base)
  base.extend(self)
end

Public Instance Methods

name_components() click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 83
def name_components
  @name_components ||= name.match(CONTROLLER_RESOURCE_NAME_PATTERN).named_captures
end
plural_resource_base_class_name() click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 64
def plural_resource_base_class_name
  @plural_resource_base_class_name ||= resource_name
                                         .pluralize
end
plural_resource_class_name() click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 78
def plural_resource_class_name
  @plural_resource_class_name ||= singular_resource_class_name
                                    .pluralize
end
plural_underscored_base_resource_name() click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 53
def plural_underscored_base_resource_name
  @plural_underscored_base_resource_name ||= plural_resource_base_class_name
                                               .underscore
                                               .downcase
end
resource_name() click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 87
def resource_name
  @resource_name ||= name_components['resource_name']
                       .singularize
end
singular_resource_base_class_name() click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 59
def singular_resource_base_class_name
  @singular_resource_base_class_name ||= plural_resource_base_class_name
                                           .singularize
end
singular_resource_class_name() click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 69
def singular_resource_class_name
  @singular_resource_class_name ||= [
                                      name_components['root_module'],
                                      resource_name,
                                    ]
                                      .compact
                                      .join('::')
end
singular_underscored_base_resource_name() click to toggle source
# File lib/apple_core/action_controller/resource_naming.rb, line 47
def singular_underscored_base_resource_name
  @singular_underscored_base_resource_name ||= singular_resource_base_class_name
                                                 .underscore
                                                 .downcase
end