Created
July 16, 2013 08:36
-
-
Save senny/6006933 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/railties/lib/rails/generators/named_base.rb b/railties/lib/rails/generators/named_base.rb | |
index 9e4fa95..f26dc46 100644 | |
--- a/railties/lib/rails/generators/named_base.rb | |
+++ b/railties/lib/rails/generators/named_base.rb | |
@@ -14,7 +14,6 @@ module Rails | |
# Unfreeze name in case it's given as a frozen string | |
args[0] = args[0].dup if args[0].is_a?(String) && args[0].frozen? | |
super | |
- self.name = options[:model_name] if options[:model_name] | |
assign_names!(self.name) | |
parse_attributes! if respond_to?(:attributes) | |
end | |
diff --git a/railties/lib/rails/generators/resource_helpers.rb b/railties/lib/rails/generators/resource_helpers.rb | |
index ca25535..a01eb57 100644 | |
--- a/railties/lib/rails/generators/resource_helpers.rb | |
+++ b/railties/lib/rails/generators/resource_helpers.rb | |
@@ -15,19 +15,24 @@ module Rails | |
# Set controller variables on initialization. | |
def initialize(*args) #:nodoc: | |
super | |
- model_name = self.name | |
- controller_name = (options[:model_name]) ? args[0][0] : self.name | |
+ if options[:model_name] | |
+ controller_name = name | |
+ self.name = options[:model_name] | |
+ assign_names!(self.name) | |
+ else | |
+ controller_name = name | |
+ end | |
- if model_name == model_name.pluralize && model_name.singularize != model_name.pluralize && !options[:force_plural] | |
+ if name == name.pluralize && name.singularize != name.pluralize && !options[:force_plural] | |
unless ResourceHelpers.skip_warn | |
say "Plural version of the model detected, using singularized version. Override with --force-plural." | |
ResourceHelpers.skip_warn = true | |
end | |
- model_name.replace model_name.singularize | |
- assign_names!(model_name) | |
+ name.replace name.singularize | |
+ assign_names!(name) | |
end | |
- assign_controller_names(controller_name.pluralize) | |
+ assign_controller_names!(controller_name.pluralize) | |
end | |
protected | |
@@ -42,7 +47,7 @@ module Rails | |
end | |
end | |
- def assign_controller_names(name) | |
+ def assign_controller_names!(name) | |
@controller_name = name | |
@controller_class_path = name.include?('/') ? name.split('/') : name.split('::') | |
@controller_class_path.map! { |m| m.underscore } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment