Sha256: 3e9972be904bfb8f5b3053e5be69c638150ec85fb371a00dd6a6de1fed617f0e

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

require 'rails/generators/rails/scaffold/scaffold_generator'
require File.join(File.dirname(__FILE__), 'base')
require File.join(File.dirname(__FILE__), 'scaffold_controller/scaffold_controller_generator')
require File.join(File.dirname(__FILE__), 'active_record/active_record_generator')

module NestedScaffold
  module Generators
    class NestedScaffoldGenerator < ::Rails::Generators::ScaffoldGenerator
      include ::NestedScaffold::Base

      # override ScaffoldGenerator
      hook_for :scaffold_controller, :required => true

      # Ensure assets get created with the correct name
      hook_for :assets, :in => :rails do |source, generator|
        source.invoke generator, [ source.file_name.pluralize ]
      end

      # override ModelGenerator
      hook_for :orm, :required => true

      # replacing hook for adding config/routes
      remove_hook_for :resource_route
      # override
      def add_resource_route
        return if options[:actions].present?
        route_config = "resources :#{plural_nested_parent_name} do\n"
        route_config << "    resources :#{file_name.pluralize}\n"
        route_config << "  end"
        route route_config
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nested_scaffold-0.2.1 lib/generators/nested_scaffold_generator.rb
nested_scaffold-0.2.0 lib/generators/nested_scaffold_generator.rb