Sha256: 6e033d0eb297ceb840a19c3135e6b4ed849baa66cfd5cdbab46ba005881696cc

Contents?: true

Size: 1.42 KB

Versions: 5

Compression:

Stored size: 1.42 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

      argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"

      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 :modified_by, :type => :string
      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

5 entries across 5 versions & 1 rubygems

Version Path
ixtlan-generators-0.1.7 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-generators-0.1.5 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-generators-0.1.4 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-generators-0.1.3 lib/generators/scaffold_controller/scaffold_controller_generator.rb
ixtlan-generators-0.1.2 lib/generators/scaffold_controller/scaffold_controller_generator.rb