diff options
Diffstat (limited to 'activemodel/lib/active_model/attribute_methods.rb')
-rw-r--r-- | activemodel/lib/active_model/attribute_methods.rb | 4 |
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 |