Sha256: 15c44705fa55fa1de153f48dc154844946e68cce8c84aeb6fb14de0a183faa27

Contents?: true

Size: 1.93 KB

Versions: 21

Compression:

Stored size: 1.93 KB

Contents

require 'rails/generators/active_record'
module Adminpanel
  class InitializeGenerator < ActiveRecord::Generators::Base
    desc 'Generate the migrations necessary to start the gem'
    source_root File.expand_path("../templates", __FILE__)
    argument :name, type: :string, default: 'default', require: false
    class_option :'skip-section-uploader',
                  type: :boolean,
                  aliases: '-u',
                  default: false,
                  desc: 'Skip section uploader if true'
    class_option :'skip-migration',
                  type: :boolean,
                  aliases: '-m',
                  default: false,
                  desc: 'Skip initial migrations if true'
    class_option :'skip-setup',
                  type: :boolean,
                  aliases: '-p',
                  default: false,
                  desc: 'Skip setup if true'
    class_option :'skip-mount-engine',
                  type: :boolean,
                  aliases: '-engine',
                  default: false,
                  desc: 'Inject engine into routes'

    def create_initializer
      if !options[:'skip-setup']
        copy_file 'adminpanel_setup.rb', 'config/initializers/adminpanel_setup.rb'
      end
    end

    def create_section_uploader
      if !options[:'skip-section-uploader']
        copy_file 'section_uploader.rb', 'app/uploaders/adminpanel/section_uploader.rb'
      end
    end

    def inject_engine_into_routes
      if !options[:'skip-mount-engine'] && Dir.exists?(Rails.root.join('config')) && File.exists?(Rails.root.join('config', 'routes.rb'))
        inject_into_file 'config/routes.rb', after: 'Rails.application.routes.draw do' do
          indent "\n  mount Adminpanel::Engine => '/panel'"
        end
      end
    end

    def create_adminpanel_migration
      if !options[:'skip-migration']
        migration_template 'create_adminpanel_tables.rb', 'db/migrate/create_adminpanel_tables.rb'
      end
    end

  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
adminpanel-3.6.1 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.6.0 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.5.1 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.5.0 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.4.7 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.4.6 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.4.5 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.4.4 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.4.3 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.4.2 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.4.1 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.4.0 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.3.4 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.3.3 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.3.0 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.2.1 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.2.0 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.1.0 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-3.0.0 lib/generators/adminpanel/initialize/initialize_generator.rb
adminpanel-2.6.1 lib/generators/adminpanel/initialize/initialize_generator.rb