aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-02-24 09:43:30 +0100
committerYves Senn <yves.senn@gmail.com>2014-02-24 09:45:24 +0100
commit174c9f0df39cd338a4871f82794256cc64f68a81 (patch)
treea972108665c6cace3851753974c643baf43282c9
parent0e144bebc6d979780c3243537673ff553ffb37f5 (diff)
downloadrails-174c9f0df39cd338a4871f82794256cc64f68a81.tar.gz
rails-174c9f0df39cd338a4871f82794256cc64f68a81.tar.bz2
rails-174c9f0df39cd338a4871f82794256cc64f68a81.zip
include names in model generator warning message. refs #13515.
This is a follow up to #13515. It includes the name given and the singularized version in the warning message. This will aide the user to see wether the detected singular was right or not.
-rw-r--r--railties/lib/rails/generators/model_helpers.rb10
-rw-r--r--railties/test/generators/model_generator_test.rb2
2 files changed, 7 insertions, 5 deletions
diff --git a/railties/lib/rails/generators/model_helpers.rb b/railties/lib/rails/generators/model_helpers.rb
index 1309446995..c4f45d344b 100644
--- a/railties/lib/rails/generators/model_helpers.rb
+++ b/railties/lib/rails/generators/model_helpers.rb
@@ -3,21 +3,23 @@ require 'rails/generators/active_model'
module Rails
module Generators
module ModelHelpers # :nodoc:
- PLURAL_MODEL_NAME_WARN_MESSAGE = 'Plural version of the model detected, using singularized version. Override with --force-plural or setup custom inflection rules for this noun before running the generator.'
+ PLURAL_MODEL_NAME_WARN_MESSAGE = "The model name '%s' was recognized as a plural, using the singular '%s'. " \
+ "Override with --force-plural or setup custom inflection rules for this noun before running the generator."
mattr_accessor :skip_warn
def self.included(base) #:nodoc:
- base.class_option :force_plural, type: :boolean, default: false, desc: 'Forces the use of a plural model name'
+ base.class_option :force_plural, type: :boolean, default: false, desc: 'Forces the use of the given model name'
end
def initialize(args, *_options)
super
if name == name.pluralize && name.singularize != name.pluralize && !options[:force_plural]
+ singular = name.singularize
unless ModelHelpers.skip_warn
- say PLURAL_MODEL_NAME_WARN_MESSAGE
+ say PLURAL_MODEL_NAME_WARN_MESSAGE % [name, singular]
ModelHelpers.skip_warn = true
end
- name.replace name.singularize
+ name.replace singular
assign_names!(name)
end
end
diff --git a/railties/test/generators/model_generator_test.rb b/railties/test/generators/model_generator_test.rb
index cf307d23e1..bdf51b457c 100644
--- a/railties/test/generators/model_generator_test.rb
+++ b/railties/test/generators/model_generator_test.rb
@@ -38,7 +38,7 @@ class ModelGeneratorTest < Rails::Generators::TestCase
content = run_generator ["accounts".freeze]
assert_file "app/models/account.rb", /class Account < ActiveRecord::Base/
assert_file "test/models/account_test.rb", /class AccountTest/
- assert_match(/Plural version of the model detected, using singularized version. Override with --force-plural or setup custom inflection rules for this noun before running the generator./, content)
+ assert_match(/The model name 'accounts' was recognized as a plural, using the singular 'account'\. Override with --force-plural or setup custom inflection rules for this noun before running the generator\./, content)
end
def test_model_with_underscored_parent_option