aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2012-05-19 23:57:58 -0700
committerPiotr Sarnacki <drogus@gmail.com>2012-05-19 23:57:58 -0700
commitcae1ca7d1be9c79c7ef012a1f62aef9d3bb815f8 (patch)
tree6b112fe68cf8bb985e506de7de79d82ead1aef7e
parentda97cf016a8ffd1f54f804cd881f393e5d6efc18 (diff)
parent42d0b1c8ddab9c3ffa8951bf085f5c758673e94b (diff)
downloadrails-cae1ca7d1be9c79c7ef012a1f62aef9d3bb815f8.tar.gz
rails-cae1ca7d1be9c79c7ef012a1f62aef9d3bb815f8.tar.bz2
rails-cae1ca7d1be9c79c7ef012a1f62aef9d3bb815f8.zip
Merge pull request #5702 from oscardelben/patch-4
Call undefine_attribute_methods only when defining new attributes
-rw-r--r--activemodel/lib/active_model/attribute_methods.rb4
1 files changed, 1 insertions, 3 deletions
diff --git a/activemodel/lib/active_model/attribute_methods.rb b/activemodel/lib/active_model/attribute_methods.rb
index 99918fdb96..039cd8bdf3 100644
--- a/activemodel/lib/active_model/attribute_methods.rb
+++ b/activemodel/lib/active_model/attribute_methods.rb
@@ -102,7 +102,6 @@ module ActiveModel
# person.name # => nil
def attribute_method_prefix(*prefixes)
self.attribute_method_matchers += prefixes.map { |prefix| AttributeMethodMatcher.new :prefix => prefix }
- undefine_attribute_methods
end
# Declares a method available for all attributes with the given suffix.
@@ -139,7 +138,6 @@ module ActiveModel
# person.name_short? # => true
def attribute_method_suffix(*suffixes)
self.attribute_method_matchers += suffixes.map { |suffix| AttributeMethodMatcher.new :suffix => suffix }
- undefine_attribute_methods
end
# Declares a method available for all attributes with the given prefix
@@ -177,7 +175,6 @@ module ActiveModel
# person.name # => 'Gemma'
def attribute_method_affix(*affixes)
self.attribute_method_matchers += affixes.map { |affix| AttributeMethodMatcher.new :prefix => affix[:prefix], :suffix => affix[:suffix] }
- undefine_attribute_methods
end
@@ -225,6 +222,7 @@ module ActiveModel
# end
# end
def define_attribute_methods(*attr_names)
+ undefine_attribute_methods
attr_names.flatten.each { |attr_name| define_attribute_method(attr_name) }
end