aboutsummaryrefslogtreecommitdiffstats
path: root/railties
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 /railties
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.
Diffstat (limited to 'railties')
-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