class Audited::Adapters::MongoMapper::Audit
Audit
saves the changes to ActiveRecord models. It has the following attributes:
-
auditable
: the ActiveRecord model that was changed -
user
: the user that performed the change; a string or an ActiveRecord model -
action
: one of create, update, or delete -
audited_changes
: a serialized hash of all the changes -
comment
: a comment set with the audit -
created_at
: Time that the change was performed
Public Class Methods
acending()
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 39 def self.acending; sort(:version.asc); end
ascending()
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 40 def self.ascending; sort(:version.asc); end
creates()
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 42 def self.creates; where(:action => 'create'); end
descending()
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 41 def self.descending; sort(:version.desc); end
destroys()
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 44 def self.destroys; where(:action => 'destroy'); end
from_version(version)
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 47 def self.from_version(version); where(:version.gte => version); end
sanitize_for_time_with_zone(value)
click to toggle source
@private
# File lib/audited/adapters/mongo_mapper/audit.rb, line 53 def sanitize_for_time_with_zone(value) case value when Hash value.inject({}){|h,(k,v)| h[k] = sanitize_for_time_with_zone(v); h } when Array value.map{|v| sanitize_for_time_with_zone(v) } when ActiveSupport::TimeWithZone value.utc else value end end
to_version(version)
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 48 def self.to_version(version); where(:version.lte => version); end
up_until(date_or_time)
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 46 def self.up_until(date_or_time); where(:created_at.lte => date_or_time); end
updates()
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 43 def self.updates; where(:action => 'update'); end
Public Instance Methods
ancestors()
click to toggle source
Return all audits older than the current one.
# File lib/audited/adapters/mongo_mapper/audit.rb, line 91 def ancestors self.class.where(:auditable_id => auditable_id, :auditable_type => auditable_type, :version.lte => version) end
audited_changes=(value)
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 67 def audited_changes=(value) self[:audited_changes] = self.class.sanitize_for_time_with_zone(value) end
set_created_at()
click to toggle source
# File lib/audited/adapters/mongo_mapper/audit.rb, line 95 def set_created_at self[:created_at] = Time.now.utc if !persisted? && !created_at? end
user_as_string()
click to toggle source
@private
# File lib/audited/adapters/mongo_mapper/audit.rb, line 84 def user_as_string self.user_as_model || self.username end
Also aliased as: user
user_as_string=(user)
click to toggle source
Allows user to be set to either a string or an ActiveRecord object @private
# File lib/audited/adapters/mongo_mapper/audit.rb, line 73 def user_as_string=(user) # reset both either way self.user_as_model = self.username = nil user.is_a?(::MongoMapper::Document) ? self.user_as_model = user : self.username = user end
Also aliased as: user=