mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
simplify the alias_attribute example [ci skip]
This commit is contained in:
parent
f31613a031
commit
7e26f7f0f7
1 changed files with 1 additions and 20 deletions
|
@ -183,34 +183,15 @@ module ActiveModel
|
|||
|
||||
# Allows you to make aliases for attributes.
|
||||
#
|
||||
# For example:
|
||||
#
|
||||
# class Person
|
||||
#
|
||||
# include ActiveModel::AttributeMethods
|
||||
# attr_accessor :name
|
||||
# attribute_method_prefix 'clear_'
|
||||
#
|
||||
# define_attribute_methods [:name]
|
||||
#
|
||||
# private
|
||||
#
|
||||
# def clear_attribute(attr)
|
||||
# send("#{attr}=", nil)
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# class Person
|
||||
# attr_accessor :nickname
|
||||
#
|
||||
# alias_attribute :nickname, :name
|
||||
# end
|
||||
#
|
||||
# person = Person.new
|
||||
# person.nickname = "Bob"
|
||||
# person.nickname # => "Bob"
|
||||
# person.clear_nickname
|
||||
# person.nickname # => nil
|
||||
# person.name # => "Bob"
|
||||
def alias_attribute(new_name, old_name)
|
||||
attribute_method_matchers.each do |matcher|
|
||||
matcher_new = matcher.method_name(new_name).to_s
|
||||
|
|
Loading…
Reference in a new issue