module AuthorizedRailsScaffolds::Macros::ParentMacros

Public Instance Methods

model_parent_name(model_name) click to toggle source

Returns the parent model required to create the model

# 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_names() click to toggle source

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

# 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_models() click to toggle source

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

# File lib/authorized_rails_scaffolds/macros/parent_macros.rb, line 6
def parent_models
  @parent_models ||= AuthorizedRailsScaffolds.config.parent_models
end
parent_module_groups() click to toggle source

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

# 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_modules() click to toggle source

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

# 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) click to toggle source
# 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) click to toggle source

Variable name used to save a parent_table_name

# 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) click to toggle source
# 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