method
undefine_attribute_methods
v8.1.1 -
Show latest stable
- Class:
ActiveModel::AttributeMethods::ClassMethods
undefine_attribute_methods()public
Removes all the previously dynamically defined methods from the class, including alias attribute methods.
class Person include ActiveModel::AttributeMethods attr_accessor :name attribute_method_suffix '_short?' define_attribute_method :name alias_attribute :first_name, :name private def attribute_short?(attr) send(attr).length < 5 end end person = Person.new person.name = 'Bob' person.first_name # => "Bob" person.name_short? # => true Person.undefine_attribute_methods person.name_short? # => NoMethodError person.first_name # => NoMethodError