Class: Cms9::Generators::InstallGenerator

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

Overview

Install generator for route mounting and copying necessary files

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



39
40
41
# File 'lib/generators/cms9/install/install_generator.rb', line 39

def self.next_migration_number(dirname)
  ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Instance Method Details

#copy_ckeditor_configObject



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/generators/cms9/install/install_generator.rb', line 27

def copy_ckeditor_config
  copy_file 'templates/ckeditor_config.js',
            'app/assets/javascripts/ckeditor/config.js'

  data = File.read('app/assets/javascripts/ckeditor/config.js')
  filtered_data = data.gsub('cms9', file_name)

  File.open('app/assets/javascripts/ckeditor/config.js', 'w') do |f|
    f.write(filtered_data)
  end
end

#copy_initializerObject



20
21
22
23
24
25
# File 'lib/generators/cms9/install/install_generator.rb', line 20

def copy_initializer
  puts 'Copying necessary files...'
  copy_file 'templates/cms9_configurator.rb',
            'config/initializers/cms9_configurator.rb'
  puts ''
end

#generate_migrationObject



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/generators/cms9/install/install_generator.rb', line 43

def generate_migration
  migraton_files.each do |migration|
    destination   = File.expand_path('db/migrate/' + migration,
                                     destination_root)
    migration_dir = File.dirname(destination)
    only_name     = File.basename(migration, File.extname(migration))
    destination   = self.class.migration_exists?(migration_dir, only_name)

    migration_templating(destination, migration)
  end
end

#mount_engine_routeObject



14
15
16
17
18
# File 'lib/generators/cms9/install/install_generator.rb', line 14

def mount_engine_route
  puts "\nMounting Cms9::Engine on " + '/' + file_name + ' route'
  route "mount Cms9::Engine => '/#{file_name}'"
  puts "\n"
end

#show_infoObject

rubocop:disable all



56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/generators/cms9/install/install_generator.rb', line 56

def show_info
  puts "\n  *************************************************************************"
  puts "  *                                                                       *"
  puts "  *     Everything is almost done. Please don\'t forget to                 *"
  puts "  *       * run migrations -> `\033[32mrails db:migrate\033[0m`                          *"
  puts "  *                                                                       *"
  puts "  *     Some things you must do manually if you haven\'t yet               *"
  puts "  *     Visit \033[32mhttps://github.com/klikaba/cms9\033[0m for more informations       *"
  puts "  *                                                                       *"
  puts "  *************************************************************************\n\n"
  binding.pry
end