Module: AuthorizedRailsScaffolds::Macros::ParentMacros

Included in:
Helper
Defined in:
lib/authorized_rails_scaffolds/macros/parent_macros.rb

Instance Method Summary collapse

Instance Method Details

#model_parent_name(model_name) ⇒ Object

Returns the parent model required to create the model



42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/authorized_rails_scaffolds/macros/parent_macros.rb', line 42

def model_parent_name(model_name)
  if model_name == resource_name
    return parent_model_names.any? ? parent_model_names.last : nil
  else
    parent_index = parent_model_names.index(model_name.to_s)
    if parent_index.nil? || parent_index == 0
      return nil
    else
      return parent_model_names[parent_index - 1]
    end
  end
  
end

#parent_model_namesObject

Table names of parent models (i.e. [‘user’, ‘category’])



11
12
13
# File 'lib/authorized_rails_scaffolds/macros/parent_macros.rb', line 11

def parent_model_names
  @parent_model_names ||= parent_models.map { |model| model.underscore }
end

#parent_modelsObject

An array of parent model classes (i.e. [‘User’, ‘Category])



6
7
8
# File 'lib/authorized_rails_scaffolds/macros/parent_macros.rb', line 6

def parent_models
  @parent_models ||= AuthorizedRailsScaffolds.config.parent_models
end

#parent_module_groupsObject

Array of symbols used for links to parents (i.e. [‘api’, ‘v1’])



37
38
39
# File 'lib/authorized_rails_scaffolds/macros/parent_macros.rb', line 37

def parent_module_groups
  @parent_module_groups ||= parent_modules.map { |parent_module| parent_module.underscore }
end

#parent_modulesObject

The parent modules of a controller (i.e. [‘Api’, ‘V1’])



32
33
34
# File 'lib/authorized_rails_scaffolds/macros/parent_macros.rb', line 32

def parent_modules
  @parent_modules ||= modular_class_name.nil? ? [] : modular_class_name.split('::')[0..-2]
end

#parent_sym(parent_table_name) ⇒ Object



20
21
22
# File 'lib/authorized_rails_scaffolds/macros/parent_macros.rb', line 20

def parent_sym(parent_table_name)
  ":#{parent_table_name}"
end

#parent_variable(parent_table_name) ⇒ Object

Variable name used to save a parent_table_name



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

def parent_variable(parent_table_name)
  "@#{parent_table_name}"
end

#parent_variables(use_shallow_route = false) ⇒ Object



24
25
26
27
# File 'lib/authorized_rails_scaffolds/macros/parent_macros.rb', line 24

def parent_variables(use_shallow_route=false)
  @parent_variables ||= parent_model_names.collect{ |parent_table| parent_variable(parent_table) }
  use_shallow_route ? @parent_variables[0..-2] : @parent_variables
end