diff options
author | Dmitry Plashchynski <plashchynski@gmail.com> | 2012-03-30 15:35:35 +0300 |
---|---|---|
committer | Dmitry Plashchynski <plashchynski@gmail.com> | 2012-03-30 15:45:46 +0300 |
commit | 96b951ce24651aa1527b16f4ec293c716757e8b0 (patch) | |
tree | f4f4ec4aae3fe22d2a459b51ba18aeefe6ad1bd0 /activesupport/lib/active_support/core_ext/class/attribute_accessors.rb | |
parent | 84338aab908f87cc830c15259dc31798d3ae150d (diff) | |
download | rails-96b951ce24651aa1527b16f4ec293c716757e8b0.tar.gz rails-96b951ce24651aa1527b16f4ec293c716757e8b0.tar.bz2 rails-96b951ce24651aa1527b16f4ec293c716757e8b0.zip |
validate attribute names in class and module attribute accessors
Diffstat (limited to 'activesupport/lib/active_support/core_ext/class/attribute_accessors.rb')
-rw-r--r-- | activesupport/lib/active_support/core_ext/class/attribute_accessors.rb | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb b/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb index 268303aaf2..95eb94fdf6 100644 --- a/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +++ b/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb @@ -29,6 +29,7 @@ class Class def cattr_reader(*syms) options = syms.extract_options! syms.each do |sym| + raise NameError.new("invalid attribute name") unless sym =~ /^[_A-Za-z]\w*$/ class_eval(<<-EOS, __FILE__, __LINE__ + 1) unless defined? @@#{sym} @@#{sym} = nil @@ -52,6 +53,7 @@ class Class def cattr_writer(*syms) options = syms.extract_options! syms.each do |sym| + raise NameError.new("invalid attribute name") unless sym =~ /^[_A-Za-z]\w*$/ class_eval(<<-EOS, __FILE__, __LINE__ + 1) unless defined? @@#{sym} @@#{sym} = nil |