Module: SkinnyControllers::Lookup::Controller

Defined in:
lib/skinny_controllers/lookup/controller.rb

Class Method Summary collapse

Class Method Details

.model_name(controller) ⇒ String

Returns name of the class of the model.

Examples:

<ObjectsContreller> => Object


Returns:

  • (String)

    name of the class of the model



17
18
19
20
21
# File 'lib/skinny_controllers/lookup/controller.rb', line 17

def model_name(controller)
  resource_name = Controller.resource_name(controller)
  # Convert Resources to Resource
  resource_name.singularize
end

.namespaceString

TODO: add option to configure this per controller

Examples:

If the controller_namespace is specified as 'API', and
the controller name is API::ObjectsController,
API:: will be ignored from the name. However if the
controller_namespace is left blank, API will be assumed to
be a part of the model's namespace.

Returns:

  • (String)

    the optional namespace of all controllers



32
33
34
35
# File 'lib/skinny_controllers/lookup/controller.rb', line 32

def namespace
  namespace = SkinnyControllers.controller_namespace || ''
  "#{namespace}::" if namespace
end

.resource_name(controller_name) ⇒ String

Returns the resource name.

Examples:

ObjectsController => Objects


Returns:

  • (String)

    the resource name



8
9
10
11
12
13
# File 'lib/skinny_controllers/lookup/controller.rb', line 8

def resource_name(controller_name)
  name = controller_name.gsub('Controller', '')
  # remove the namespace if one exists
  name.slice! namespace
  name
end