Sha256: 3d5a1b96a1b9682189e564b762d52b255c54af4d67e190ebe22e372ff14f5439

Contents?: true

Size: 1.2 KB

Versions: 3

Compression:

Stored size: 1.2 KB

Contents

require 'admin_core/configuration'

module AdminCore
  module Generators
    class InstallGenerator < Rails::Generators::Base
      source_root File.expand_path('../templates', __FILE__)

      class_option :module_name, type: :string,
                                 default: AdminCore::Configuration::DEFAULT_MODULE_NAME,
                                 desc: 'Module which contains resource manager, controllers, etc.',
                                 aliases: :m

      def initializer
        template('initializer.rb.erb', 'config/initializers/admin_core.rb')
      end

      def view
        copy_file('view.html.erb', "app/views/#{configuration.template}.html.erb")
      end

      def controller
        template('controller.rb.erb', "app/controllers/#{configuration.route_name_prefix}/application_controller.rb")
      end

      def assets
        copy_file('admin-core.js', 'public/javascripts/admin-core.js')
        copy_file('admin-core.css', 'public/stylesheets/admin-core.css')
      end

      private

      def configuration
        @configuration ||= AdminCore::Configuration.new.tap do |config|
          config.module_name = options[:module_name].camelize
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
admin_core-0.0.3 lib/generators/admin_core/install_generator.rb
admin_core-0.0.2 lib/generators/admin_core/install_generator.rb
admin_core-0.0.1 lib/generators/admin_core/install_generator.rb