class Cms9::Generators::InstallGenerator

Install generator for route mounting and copying necessary files

Public Class Methods

next_migration_number(dirname) click to toggle source
# File lib/generators/cms9/install/install_generator.rb, line 39
def self.next_migration_number(dirname)
  ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Public Instance Methods

copy_ckeditor_config() click to toggle source
# 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_initializer() click to toggle source
# 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_migration() click to toggle source
# 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_route() click to toggle source
# 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_info() click to toggle source

rubocop:disable all

# 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

Private Instance Methods

file_name() click to toggle source
# File lib/generators/cms9/install/install_generator.rb, line 71
def file_name
  def_route.underscore
end
migration_templating(destination, migration) click to toggle source
# File lib/generators/cms9/install/install_generator.rb, line 87
def migration_templating(destination, migration)
  if destination
    puts "\n\e[0m\e[31mFound existing " + migration +
         " migration. Remove it if you want to regenerate.\e[0m"
  else
    puts ''
    migration_template '../../../../db/migrate/' + migration,
                       'db/migrate/' + migration
  end
end
migraton_files() click to toggle source
# File lib/generators/cms9/install/install_generator.rb, line 75
def migraton_files
  cms9_file_dir = File.expand_path('../../../../../db/migrate/.',
                                   __FILE__)
  files = []

  Dir.foreach(cms9_file_dir) do |file|
    files << file unless file =~ /^\.\.?$/
  end

  files
end