lib/toy/persistence.rb in toystore-0.13.1 vs lib/toy/persistence.rb in toystore-0.13.2

- old
+ new

@@ -73,21 +73,38 @@ def persisted? !new_record? && !destroyed? end - def save(*) - new_record? ? create : update + def save(options={}) + default_payload = { + :id => persisted_id, + :model => self.class, + } + + new_record = new_record? + action = new_record ? 'create' : 'update' + + Toy.instrumenter.instrument("#{action}.toystore", default_payload) { |payload| + new_record ? create : update + } end def update_attributes(attrs) self.attributes = attrs save end def destroy - delete + default_payload = { + :id => persisted_id, + :model => self.class, + } + + Toy.instrumenter.instrument('destroy.toystore', default_payload) { |payload| + delete + } end def delete @_destroyed = true adapter.delete(persisted_id) @@ -110,10 +127,11 @@ end end attributes end - # Public: Choke point for overriding how data gets written. + # Public: Choke point for overriding how data gets written. Don't call this + # directory, but you can safely override it. def persist adapter.write(persisted_id, persisted_attributes) end private