Augmenting to_s for ActiveRecord

So, I have a model, and I’ve defined some non-persisted attributes. I’d
like to augment the to_s to include these in to_s and other output
statements (like whatever awesome print is calling).

If possible, I’d like to augment the existing functionality (vs
replacing
it)? Is there a standard way to do this? I can probably figure out how
to
do this if someone could point me to where to_s is being defined in
ActiveRecord.

Thanks,

On 3 September 2012 17:27, John H. [email protected]
wrote:

So, I have a model, and I’ve defined some non-persisted attributes. I’d like
to augment the to_s to include these in to_s and other output statements
(like whatever awesome print is calling).

What is it that you want to call to_s on? An instance of the model or
the attribute itself? If the attribute then what class it is? If the
model instance then just define to_s in your model class to do
whatever you want.

Colin

The model itself.

So right now when you inspect, puts, etc on the model, it shows only the
attributes which are persistent. I would like to augment it to also show
my
non-persisted attributes. This is for debugging purposes only.

I’m guessing somewhere in ActiveModel or ActiveRecord, the to_s is being
overridden. Is there a general way I can override so that to_s, inspect,
and awesome_print will all show the non-persisted attributes?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs