Class: RcmsGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/rcms_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



5
6
7
# File 'lib/generators/rcms_generator.rb', line 5

def self.next_migration_number(dirname)
  Time.now.strftime("%Y%m%d%H%M%S")
end

Instance Method Details

#create_admin_filesObject



19
20
21
22
23
# File 'lib/generators/rcms_generator.rb', line 19

def create_admin_files
  %w(meta_page.rb page.rb partial.rb).each do |name|
    copy_file "app/admin/rcms/#{name}"
  end
end

#create_cmshelper_migrationObject



9
10
11
# File 'lib/generators/rcms_generator.rb', line 9

def create_cmshelper_migration
  migration_template "migration.rb", File.join('db/migrate', "create_rcms_tables.rb")
end

#create_controllersObject



25
26
27
28
29
# File 'lib/generators/rcms_generator.rb', line 25

def create_controllers
  %w(pages_controller.rb).each do |name|
    copy_file "app/controllers/rcms/#{name}"
  end
end

#create_model_filesObject



13
14
15
16
17
# File 'lib/generators/rcms_generator.rb', line 13

def create_model_files
  %w(meta_page.rb meta_tag.rb page.rb partial.rb).each do |name|
    copy_file "app/models/rcms/#{name}"
  end
end

#create_pages_viewsObject



31
32
33
34
35
# File 'lib/generators/rcms_generator.rb', line 31

def create_pages_views
  %w(show.html.slim).each do |name|
    copy_file "app/views/rcms/pages/#{name}"
  end
end

#patch_controllerObject



37
38
39
40
# File 'lib/generators/rcms_generator.rb', line 37

def patch_controller
  insert_into_file "config/routes.rb", "  get 'page-:slug' => 'rcms/pages#show', as: :rcms_page\n", :after => "Rails.application.routes.draw do\n"
  insert_into_file "app/controllers/application_controller.rb", "  include Rcms::ApplicationController\n", :after => "class ApplicationController < ActionController::Base\n"
end