attribute_method_suffix(*suffixes)
Instance Public methods
Declares a method available for all attributes with the given suffix. Uses
method_missing
and respond_to?
to rewrite the
method.
1 | #{attr}#{suffix}(*args, &block) |
to
1 | attribute #{suffix}(#{attr}, *args, &block) |
An attribute#{suffix}
instance method must exist and accept at
least the attr
argument.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class Person include ActiveModel::AttributeMethods attr_accessor :name attribute_method_suffix '_short?' define_attribute_methods :name private def attribute_short?(attr) send(attr).length < 5 end end person = Person. new person.name = 'Bob' person.name # => "Bob" person.name_short? # => true |
Please login to continue.