lib/printfection/resource.rb
module Printfection
class Resource < Hashie::Trash
include Hashie::Extensions::IndifferentAccess
include Hashie::Extensions::Coercion
property :object
attr_accessor :relation
def initialize(*args)
super
@_old = self.dup
end
def uri
base = self.relation.nil? ? self.class.uri : self.relation.uri
Util.join_uri(base, self.id)
end
def changes
keys.inject({}) do |diff, key|
unless self[key] == @_old[key]
diff[key] = self[key]
end
diff
end
end
end
end