I’m using the gem Audited in my Rails app. I want to create a way to
print
out the Audit record so I can have a feed of what has been changed by a
User, or what has changed on an object. Currently, I have setup a method
called print_audit on each object that I’m using with Audited. But this
seems incredibly wrong. I would like to override the to_s method on the
Audit model… but I’m unsure what the correct way of doing that would
be… is the approach incorrect and if not how would I go about doing
this?
On Sat, May 9, 2015 at 7:57 AM, David McDonald [email protected]
wrote:
I’m using the gem Audited in my Rails app. I want to create a way to print
out the Audit record so I can have a feed of what has been changed by a
User, or what has changed on an object. Currently, I have setup a method
called print_audit on each object that I’m using with Audited. But this
seems incredibly wrong.
Trust your instincts
I’d consider the Single Responsibility Principal and write something
entirely separate, e.g. an AuditReport class and whatever supporting
classes/modules that requires. (TDDing will tell you what they are.)
FWIW,
Hassan S. ------------------------ [email protected]
twitter: @hassan
Consulting Availability : Silicon Valley or remote
Thanks for the reply. I had not heard of “SRP” and looked it up. This
is
the method I think I’m going to use as it seems simple and works out
quite
well I believe. If anyone knows of a better way I’m all ears! Thanks
again
Hassan!
Added file: config/initializers/audited_additional_methods.rb
module Audited
module Adapters
module ActiveRecord
class Audit < ::ActiveRecord::Base
def to_s
“Added my new to_s logic here”
end
end
end
endend