class Audited::Adapters::MongoMapper::Audit

Audit saves the changes to ActiveRecord models. It has the following attributes:

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()
Also aliased as: user_as_model
Alias for: user_as_string
user=(user)
Also aliased as: user_as_model=
Alias for: user_as_string=
user_as_model()
Alias for: user
user_as_model=(user)
Alias for: user=
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=