aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-12-19 08:35:48 -0800
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-12-19 08:35:48 -0800
commitf70e94cbd2c1b84a14c14d96d220213b16f60986 (patch)
tree94bb321b9993a04c15fc2864dccdfb275f21b7d4
parent3b10ad08742b68a83ea1bb347f842a295dc63b93 (diff)
parent4cb30d9f8b091c9eb1d7bf90c2974b96ea3a59f8 (diff)
downloadrails-f70e94cbd2c1b84a14c14d96d220213b16f60986.tar.gz
rails-f70e94cbd2c1b84a14c14d96d220213b16f60986.tar.bz2
rails-f70e94cbd2c1b84a14c14d96d220213b16f60986.zip
Merge pull request #13406 from hincupetru/master
Fixed configurable.rb regular expression name check
-rw-r--r--activesupport/lib/active_support/configurable.rb2
-rw-r--r--activesupport/test/configurable_test.rb6
2 files changed, 7 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/configurable.rb b/activesupport/lib/active_support/configurable.rb
index e0d39d509f..bafcadff9a 100644
--- a/activesupport/lib/active_support/configurable.rb
+++ b/activesupport/lib/active_support/configurable.rb
@@ -107,7 +107,7 @@ module ActiveSupport
options = names.extract_options!
names.each do |name|
- raise NameError.new('invalid config attribute name') unless name =~ /^[_A-Za-z]\w*$/
+ raise NameError.new('invalid config attribute name') unless name =~ /\A[_A-Za-z]\w*\Z/
reader, reader_line = "def #{name}; config.#{name}; end", __LINE__
writer, writer_line = "def #{name}=(value); config.#{name} = value; end", __LINE__
diff --git a/activesupport/test/configurable_test.rb b/activesupport/test/configurable_test.rb
index d00273a028..cb11a4a867 100644
--- a/activesupport/test/configurable_test.rb
+++ b/activesupport/test/configurable_test.rb
@@ -95,6 +95,12 @@ class ConfigurableActiveSupport < ActiveSupport::TestCase
config_accessor "invalid attribute name"
end
end
+ assert_raises NameError do
+ Class.new do
+ include ActiveSupport::Configurable
+ config_accessor "invalid attribute\nname"
+ end
+ end
end
def assert_method_defined(object, method)