From bac0826b1fa5f39274d61ad51304548c725a304f Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Fri, 24 Sep 2010 15:46:29 +0200 Subject: Refactor namespaced generators to use module_namespacing block helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Valim --- railties/lib/rails/generators/named_base.rb | 23 ++++++++++------------ .../rails/controller/controller_generator.rb | 2 +- .../rails/controller/templates/controller.rb | 2 ++ .../generators/rails/helper/helper_generator.rb | 2 +- .../generators/rails/helper/templates/helper.rb | 2 ++ 5 files changed, 16 insertions(+), 15 deletions(-) (limited to 'railties/lib') diff --git a/railties/lib/rails/generators/named_base.rb b/railties/lib/rails/generators/named_base.rb index 7fae505883..6db294290a 100644 --- a/railties/lib/rails/generators/named_base.rb +++ b/railties/lib/rails/generators/named_base.rb @@ -17,6 +17,16 @@ module Rails end protected + def module_namespacing(&block) + inside_namespace do + content = capture(&block) + if namespaced? + content = indent(content) + content = wrap_with_namespace(content) + end + concat(content) + end + end def indent(content, multiplier = 2) spaces = " " * multiplier @@ -27,19 +37,6 @@ module Rails "module #{namespace.name}\n#{content}\nend\n" end - def namespaced_template(source, *args, &block) - inside_namespace do - template(source, *args) do |content| - content = block.call(content) if block_given? - if namespace - content = indent(content) - content = wrap_with_namespace(content) - end - content - end - end - end - def inside_namespace @inside_namespace = true if namespaced? result = yield diff --git a/railties/lib/rails/generators/rails/controller/controller_generator.rb b/railties/lib/rails/generators/rails/controller/controller_generator.rb index 981ce88474..9788c0d0bc 100644 --- a/railties/lib/rails/generators/rails/controller/controller_generator.rb +++ b/railties/lib/rails/generators/rails/controller/controller_generator.rb @@ -5,7 +5,7 @@ module Rails check_class_collision :suffix => "Controller" def create_controller_files - namespaced_template 'controller.rb', File.join('app/controllers', class_path, "#{file_name}_controller.rb") + template 'controller.rb', File.join('app/controllers', class_path, "#{file_name}_controller.rb") end def add_routes diff --git a/railties/lib/rails/generators/rails/controller/templates/controller.rb b/railties/lib/rails/generators/rails/controller/templates/controller.rb index cda2659e69..c61ea4b510 100644 --- a/railties/lib/rails/generators/rails/controller/templates/controller.rb +++ b/railties/lib/rails/generators/rails/controller/templates/controller.rb @@ -1,3 +1,4 @@ +<% module_namespacing do -%> class <%= class_name %>Controller < ApplicationController <% for action in actions -%> def <%= action %> @@ -5,3 +6,4 @@ class <%= class_name %>Controller < ApplicationController <% end -%> end +<% end -%> diff --git a/railties/lib/rails/generators/rails/helper/helper_generator.rb b/railties/lib/rails/generators/rails/helper/helper_generator.rb index 50d3b46b56..ad66388591 100644 --- a/railties/lib/rails/generators/rails/helper/helper_generator.rb +++ b/railties/lib/rails/generators/rails/helper/helper_generator.rb @@ -4,7 +4,7 @@ module Rails check_class_collision :suffix => "Helper" def create_helper_files - namespaced_template 'helper.rb', File.join('app/helpers', class_path, "#{file_name}_helper.rb") + template 'helper.rb', File.join('app/helpers', class_path, "#{file_name}_helper.rb") end hook_for :test_framework diff --git a/railties/lib/rails/generators/rails/helper/templates/helper.rb b/railties/lib/rails/generators/rails/helper/templates/helper.rb index 3fe2ecdc74..b4173151b4 100644 --- a/railties/lib/rails/generators/rails/helper/templates/helper.rb +++ b/railties/lib/rails/generators/rails/helper/templates/helper.rb @@ -1,2 +1,4 @@ +<% module_namespacing do -%> module <%= class_name %>Helper end +<% end -%> -- cgit v1.2.3