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?
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,
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
end
end