diff --git a/lib/generators/controller_override.rb b/lib/generators/controller_override.rb index fc0e1e4..3965fa3 100644 --- a/lib/generators/controller_override.rb +++ b/lib/generators/controller_override.rb @@ -5,7 +5,9 @@ require "rails/generators/rails/scaffold_controller/scaffold_controller_generato module Rails module Generators class ControllerGenerator - hook_for :decorator, default: true + hook_for :decorator, default: true do |generator| + invoke generator, [name.singularize] + end end class ScaffoldControllerGenerator diff --git a/spec/generators/controller/controller_generator_spec.rb b/spec/generators/controller/controller_generator_spec.rb new file mode 100644 index 0000000..af77c1f --- /dev/null +++ b/spec/generators/controller/controller_generator_spec.rb @@ -0,0 +1,22 @@ +require 'spec_helper' +require 'rails' +require 'ammeter/init' +require 'generators/controller_override' +require 'generators/rails/decorator_generator' + +describe Rails::Generators::ControllerGenerator do + destination File.expand_path("../tmp", __FILE__) + + before { prepare_destination } + after(:all) { FileUtils.rm_rf destination_root } + + describe "the generated decorator" do + subject { file("app/decorators/your_model_decorator.rb") } + + describe "naming" do + before { run_generator %w(YourModels) } + + it { should contain "class YourModelDecorator" } + end + end +end \ No newline at end of file