Sha256: 16ac2b55fb5926d3aa031340449f62dd04d213a7546c7fb13e2e7c7539524f7b

Contents?: true

Size: 1.28 KB

Versions: 6

Compression:

Stored size: 1.28 KB

Contents

require 'rails/generators/resource_helpers'
require 'rails/generators/named_base'

module ScaffoldController
  module Generators
    class ScaffoldControllerGenerator < ::Rails::Generators::NamedBase
      include ::Rails::Generators::ResourceHelpers

      check_class_collision :suffix => "Controller"

      class_option :orm, :banner => "NAME", :type => :string, :required => true,
                         :desc => "ORM to generate the controller for"

      class_option :singleton, :type => :boolean, :default => false
      class_option :optimistic, :type => :boolean, :default => false
      class_option :timestamps, :type => :boolean, :default => true

      def create_controller_files
        if options[:singleton]
          template 'singleton_controller.rb', File.join('app/controllers', class_path, "#{controller_file_name}_controller.rb")
        else
          template 'controller.rb', File.join('app/controllers', class_path, "#{controller_file_name}_controller.rb")
        end
      end
      
      hook_for :template_engine, :test_framework, :as => :scaffold, :in => :rails

      # Invoke the helper using the controller name (pluralized)
      hook_for :helper, :as => :scaffold, :in => :rails do |invoked|
        invoke invoked, [ controller_name ]
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
ixtlan-generators-0.1.1 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-core-0.6.0 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-generators-0.1.0 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-core-0.5.0 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-core-0.4.1 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-core-0.4.0 lib/generators/scaffold_controller/scaffold_controller_generator.rb