From 427d993631b0454d405149a576670f221a2af7f9 Mon Sep 17 00:00:00 2001 From: Frank Macreery Date: Mon, 2 Dec 2013 18:36:42 -0500 Subject: [PATCH] Decorators generated via controller generator hooks have singular names --- lib/generators/controller_override.rb | 4 +++- .../controller/controller_generator_spec.rb | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 spec/generators/controller/controller_generator_spec.rb 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