Sha256: ccd635a213fee57ddc9519400796ac38dd36355c5a95339879d6dbba4cf9b9c0

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

require "generators/kiso_themes/page_generator"

module KisoThemes
  module Generators
    class AppPagesGenerator < Rails::Generators::NamedBase
      include HandlerSupport

      remove_hook_for :helper
      class_attribute :app_page_type, instance_writer: false
      source_root File.expand_path('../templates', __FILE__)
      hide!

      def create_controller
        invoke :controller, [name], skip: false, skip_routes: true, helper: false, test_framework: false, assets: false, template_engine: false
      end

      def copy_view
        directory( "views/app_pages/#{app_page_type}", "app/views/#{name.underscore}/", { recursive: true, exclude_pattern: /\.(#{unsupported_handlers.join('|')})/ } )
      end

      def set_layout
        controller_const_name = "#{name.camelize}Controller"
        inject_into_class File.join('app/controllers', class_path, "#{file_name}_controller.rb"), controller_const_name, "  layout 'application'\n"
      end

      def self.set_page_type(page_type)
        self.app_page_type = page_type
        source_root File.expand_path('../templates', __FILE__)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kiso_themes-1.0.2 lib/generators/kiso_themes/app_pages_generator.rb