Class: ContentGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/content/content_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_content_routeObject



36
37
38
# File 'lib/generators/content/content_generator.rb', line 36

def add_content_route
  route "resources :#{plural_file_name}, module: :content, only: %w[#{actions.join(" ")}]"
end

#add_root_routeObject



40
41
42
43
44
45
# File 'lib/generators/content/content_generator.rb', line 40

def add_root_route
  return unless pages_controller?
  return if root_route_exists?

  inject_into_file "config/routes.rb", "  root to: \"content/pages#root\"\n", before: /^\s*end\s*$/
end

#create_content_directoryObject



28
# File 'lib/generators/content/content_generator.rb', line 28

def create_content_directory = FileUtils.mkdir_p(content_directory)

#create_controllerObject



16
17
18
# File 'lib/generators/content/content_generator.rb', line 16

def create_controller
  template "controller.rb.tt", File.join("app/controllers/content", "#{plural_file_name}_controller.rb")
end

#create_modelObject



12
13
14
# File 'lib/generators/content/content_generator.rb', line 12

def create_model
  template "model.rb.tt", File.join("app/models/content", "#{file_name}.rb")
end

#create_pages_rootObject



30
31
32
33
34
# File 'lib/generators/content/content_generator.rb', line 30

def create_pages_root
  return unless pages_controller?

  template "root.erb.tt", File.join(content_directory, "root.erb")
end

#create_viewsObject



20
21
22
23
24
25
26
# File 'lib/generators/content/content_generator.rb', line 20

def create_views
  empty_directory view_directory

  actions.each do |action|
    template "#{action}.html.erb.tt", File.join(view_directory, "#{action}.html.erb")
  end
end