Sha256: 0f8ca787bbd268203f2f1399e9a4d629e27ef3055592abe10e5ae2ce02e09354

Contents?: true

Size: 1.06 KB

Versions: 6

Compression:

Stored size: 1.06 KB

Contents

require 'rails'

module Alchemy
  module Generators
    class ModuleGenerator < ::Rails::Generators::Base
      desc "This generator generates an Alchemy module for you."
      argument :module_name, banner: "your_module_name"
      source_root File.expand_path('templates', File.dirname(__FILE__))

      def init
        @module_name = module_name.downcase
        @class_name = @module_name.singularize.classify
        @controller_name = @module_name.tableize
        @controller_class = @controller_name.classify.pluralize
      end

      def make_route
        route "namespace :admin do\n    resources :#{@controller_name}\n  end"
      end

      def copy_templates
        empty_directory Rails.root.join("app/controllers/admin")

        template "controller.rb.tt", Rails.root.join("app/controllers/admin/#{@controller_name}_controller.rb")
        template "ability.rb.tt", Rails.root.join('app/models', "alchemy_#{@module_name}_ability.rb")
        template "module_config.rb.tt", Rails.root.join("config/initializers/alchemy_#{@module_name}.rb")
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
alchemy_cms-3.3.3 lib/rails/generators/alchemy/module/module_generator.rb
alchemy_cms-3.3.2 lib/rails/generators/alchemy/module/module_generator.rb
alchemy_cms-3.3.1 lib/rails/generators/alchemy/module/module_generator.rb
alchemy_cms-3.3.0 lib/rails/generators/alchemy/module/module_generator.rb
alchemy_cms-3.3.0.rc2 lib/rails/generators/alchemy/module/module_generator.rb
alchemy_cms-3.3.0.rc1 lib/rails/generators/alchemy/module/module_generator.rb