aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel/lib/active_model')
-rw-r--r--activemodel/lib/active_model/attribute_methods.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activemodel/lib/active_model/attribute_methods.rb b/activemodel/lib/active_model/attribute_methods.rb
index 039cd8bdf3..99918fdb96 100644
--- a/activemodel/lib/active_model/attribute_methods.rb
+++ b/activemodel/lib/active_model/attribute_methods.rb
@@ -102,6 +102,7 @@ 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.
@@ -138,6 +139,7 @@ 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
@@ -175,6 +177,7 @@ 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
@@ -222,7 +225,6 @@ 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