An example of what I'm talking about:
class Person < ActiveRecord::Base
def name=(name)
super(name.capitalize)
end
def name
super().downcase # not sure why you'd do this; this is just an example
end
end
This seems to work, but I was just read the section on overriding attribute methods in the ActiveRecord::Base docs (http://rails.rubyonrails.com/classes/ActiveRecord/Base.html), and it suggests using the read_attribute and write_attribute methods. I thought there must be something wrong with what I'm doing in the example above; otherwise, why would they bless these methods as the "right way" to override attribute methods? They're also forcing a much uglier idiom, so there must be a good reason...
My real question: Is there something wrong with this example?