Module: Audited::Auditor::AuditedInstanceMethods

Defined in:
lib/audited/auditor.rb

Instance Method Summary collapse

Instance Method Details

#audited_attributesObject

List of attributes that are audited.



131
132
133
# File 'lib/audited/auditor.rb', line 131

def audited_attributes
  attributes.except(*non_audited_columns)
end

#revision(version) ⇒ Object

Get a specific revision specified by the version number, or :previous



120
121
122
# File 'lib/audited/auditor.rb', line 120

def revision(version)
  revision_with Audit.reconstruct_attributes(audits_to(version))
end

#revision_at(date_or_time) ⇒ Object

Find the oldest revision recorded prior to the date/time provided.



125
126
127
128
# File 'lib/audited/auditor.rb', line 125

def revision_at(date_or_time)
  audits = self.audits.up_until(date_or_time)
  revision_with Audit.reconstruct_attributes(audits) unless audits.empty?
end

#revisions(from_version = 1) ⇒ Object

Gets an array of the revisions available

user.revisions.each do |revision|
  user.name
  user.version
end


109
110
111
112
113
114
115
116
117
# File 'lib/audited/auditor.rb', line 109

def revisions(from_version = 1)
  audits = self.audits.from_version(from_version)
  return [] if audits.empty?
  revisions = []
  audits.each do |audit|
    revisions << audit.revision
  end
  revisions
end

#save_without_auditingObject

Temporarily turns off auditing while saving.



88
89
90
# File 'lib/audited/auditor.rb', line 88

def save_without_auditing
  without_auditing { save }
end

#without_auditing(&block) ⇒ Object

Executes the block with the auditing callbacks disabled.

@foo.without_auditing do
  @foo.save
end


98
99
100
# File 'lib/audited/auditor.rb', line 98

def without_auditing(&block)
  self.class.without_auditing(&block)
end