instance method
attribute_method_affix
Ruby on Rails 3.0.20
Since v3.0.20Signature
attribute_method_affix(*affixes)
Declares a method available for all attributes with the given prefix and suffix. Uses method_missing and respond_to? to rewrite the method.
#{prefix}#{attr}#{suffix}(*args, &block)
to
#{prefix}attribute#{suffix}(#{attr}, *args, &block)
An #{prefix}attribute#{suffix} instance method must exist and accept at least the attr argument.
For example:
class Person
include ActiveModel::AttributeMethods
attr_accessor :name
attribute_method_affix :prefix => 'reset_', :suffix => '_to_default!'
define_attribute_methods [:name]
private
def reset_attribute_to_default!(attr)
...
end
end
person = Person.new
person.name # => 'Gem'
person.reset_name_to_default!
person.name # => 'Gemma'
Parameters
-
affixesrest
Source
# File activemodel/lib/active_model/attribute_methods.rb, line 228
def attribute_method_affix(*affixes)
attribute_method_matchers.concat(affixes.map { |affix| AttributeMethodMatcher.new :prefix => affix[:prefix], :suffix => affix[:suffix] })
undefine_attribute_methods
end
Defined in activemodel/lib/active_model/attribute_methods.rb line 228
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::AttributeMethods::ClassMethods