class EasyCms::Generators::ModelGenerator

Public Instance Methods

add_navegation() click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 22
def add_navegation
  path = build_path("easy_cms/model/templates/layouts/item_navegation.html.erb")
  insert_into_file "app/views/layouts/#{namespace}.html.erb", read_file(path), :after => "<!-- Easy CMS - nav - don't delete this line -->\n"
end
create_namespace() click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 13
def create_namespace
  generate "easy_cms:namespace #{namespace}"
end
generate_model_controller() click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 17
def generate_model_controller
  file_name = "app/controllers/#{namespace}/#{model.pluralize}_controller.rb"
  template './controllers/model_controller.erb', file_name, options_params
end
generate_model_layouts() click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 27
def generate_model_layouts
  generate_action_layout('index')
  generate_action_layout('show')
  generate_action_layout('new')
  generate_action_layout('edit')
  generate_action_layout('_form')
end
generate_route() click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 35
def generate_route
  easy_cms_route = %Q(namespace :#{namespace} do\n    resources :#{model.pluralize}\n  end)
  route easy_cms_route
end

Private Instance Methods

build_params_controller() click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 61
def build_params_controller
  return '' unless model_attributes.any?
  params = ''
  model_attributes.each do |a|
    params += a != model_attributes.last ? ":#{a[:name]}, " : ":#{a[:name]}"
  end
  params
end
generate_action_layout(action) click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 41
def generate_action_layout(action)
  file_name = "app/views/#{namespace}/#{model.pluralize}/#{action}.html.erb"
  template "./layouts/#{action}.html.erb", file_name, options_params
end
model_attributes() click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 46
def model_attributes
  @model_attributes ||= get_model_attributes(options_params[:model_cap])
end
options_params() click to toggle source
# File lib/generators/easy_cms/model/model_generator.rb, line 50
def options_params
  {
    :namespace => namespace,
    :namespace_cap => namespace.capitalize,
    :model => model,
    :model_plu => model.pluralize,
    :model_cap => model.capitalize,
    :model_cap_plu => model.capitalize.pluralize
  }
end