Class: AuthorizedRailsScaffolds::RailsScaffoldControllerHelper

Inherits:
Helper
  • Object
show all
Includes:
Macros::ControllerMacros, Macros::RouteExampleMacros
Defined in:
lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb

Instance Method Summary collapse

Methods included from Macros::RouteExampleMacros

#example_index_path, #example_index_path_extra_params, #example_route_extra_params, #example_show_path, #example_show_path_extra_params

Methods included from Macros::ControllerMacros

#application_controller_class, #controller_class_name

Methods inherited from Helper

#plural_var_name, #shallow_routes?, #var_name

Methods included from Macros::ResourceMacros

#resource_array_key, #resource_array_name, #resource_array_sym, #resource_array_var, #resource_class, #resource_directory, #resource_human_name, #resource_key, #resource_name, #resource_symbol, #resource_var

Methods included from Macros::PathMacros

#controller_edit_route, #controller_index_path, #controller_index_route, #controller_new_route, #controller_show_route, #references_show_route

Methods included from Macros::ParentMacros

#model_parent_name, #parent_model_names, #parent_models, #parent_module_groups, #parent_modules, #parent_sym, #parent_variable, #parent_variables

Constructor Details

#initialize(options = {}) ⇒ RailsScaffoldControllerHelper

Returns a new instance of RailsScaffoldControllerHelper.



5
6
7
8
9
10
11
12
# File 'lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb', line 5

def initialize(options = {})
  super options

  # Modularized class name generated by spec generator
  @controller_class_name = options[:controller_class_name]

  @modular_class_name = options[:class_name] || options[:local_class_name]
end

Instance Method Details

#load_and_authorize_parent(model_name) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb', line 20

def load_and_authorize_parent(model_name)
  load_resource_code = "load_and_authorize_resource #{parent_sym(model_name)}"

  parent_model = model_parent_name(model_name)
  unless parent_model.nil?
    load_resource_code += ", :through => #{parent_sym(parent_model)}"
  end

  load_resource_code
end

#load_resourceObject



31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb', line 31

def load_resource
  load_resource_code = "load_resource #{resource_symbol}"

  if parent_models.any?
    load_resource_code += ", :through => #{parent_sym(parent_model_names.last)}"
  end

  if shallow_routes?
    load_resource_code += ", :shallow => true"
  end

  load_resource_code
end

#modular_class_nameObject

Class name with parent modules included (i.e. Example::FooBar) Name of class assumed by default generators, used as a base for determining modules and class



16
17
18
# File 'lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb', line 16

def modular_class_name
  @modular_class_name
end