define_attribute_methods(attr_names) public

Declares a the attributes that should be prefixed and suffixed by ActiveModel::AttributeMethods.

To use, pass in an array of attribute names (as strings or symbols), be sure to declare define_attribute_methods after you define any prefix, suffix or affix methods, or they will not hook in.

  class Person

    include ActiveModel::AttributeMethods
    attr_accessor :name, :age, :address
    attribute_method_prefix 'clear_'

    # Call to define_attribute_methods must appear after the
    # attribute_method_prefix, attribute_method_suffix or
    # attribute_method_affix declares.
    define_attribute_methods [:name, :age, :address]

    private

    def clear_attribute(attr)
      ...
    end
  end
Show source
Register or log in to add new notes.