aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/attribute_methods/write.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-04-19 17:56:46 +0200
committerJosé Valim <jose.valim@gmail.com>2011-04-19 17:58:06 +0200
commit30472d4244f08ad861590fb41dd75efb5f274422 (patch)
treef71eece83c1650069424dab6112a555a89e943ef /activerecord/lib/active_record/attribute_methods/write.rb
parentd24d938af453d4a8bd0401c8456191530ecee433 (diff)
downloadrails-30472d4244f08ad861590fb41dd75efb5f274422.tar.gz
rails-30472d4244f08ad861590fb41dd75efb5f274422.tar.bz2
rails-30472d4244f08ad861590fb41dd75efb5f274422.zip
Avoid define_method if possible.
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods/write.rb')
-rw-r--r--activerecord/lib/active_record/attribute_methods/write.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/write.rb b/activerecord/lib/active_record/attribute_methods/write.rb
index 7661676f8c..c77a3ac145 100644
--- a/activerecord/lib/active_record/attribute_methods/write.rb
+++ b/activerecord/lib/active_record/attribute_methods/write.rb
@@ -10,7 +10,7 @@ module ActiveRecord
module ClassMethods
protected
def define_method_attribute=(attr_name)
- if attr_name =~ /^[a-zA-Z_]\w*[!?=]?$/
+ if attr_name =~ ActiveModel::AttributeMethods::COMPILABLE_REGEXP
generated_attribute_methods.module_eval("def #{attr_name}=(new_value); write_attribute('#{attr_name}', new_value); end", __FILE__, __LINE__)
else
generated_attribute_methods.send(:define_method, "#{attr_name}=") do |new_value|