class ActiveAudit::StorageAdapters::ActiveRecordAdapter

Public Class Methods

new(options={}) click to toggle source
# File lib/active_audit/storage_adapters/active_record_adapter.rb, line 5
def initialize options={}
  @connection = ::ActiveRecord::Base.connection
end

Public Instance Methods

find_by_record(record, options={}) click to toggle source
# File lib/active_audit/storage_adapters/active_record_adapter.rb, line 9
def find_by_record record, options={}
  result = @connection.exec_query "SELECT * FROM audits WHERE item_id=$1 AND type=$2 ORDER BY recorded_at DESC;", nil, [[nil, record.id], [nil,record.class.auditing_options[:type]]]
  result.map { |attributes| ActiveAudit::Audit.new attributes }
end
save(audit) click to toggle source
# File lib/active_audit/storage_adapters/active_record_adapter.rb, line 14
def save audit
  @connection.exec_query('INSERT INTO audits("item_id", "event", "type", "changes", "user_id", "attributed_to", "comment", "recorded_at") VALUES ($1,$2,$3,$4,$5,$6,$7,$8);', nil, [
    [nil, audit.item_id],
    [nil, audit.event],
    [nil, audit.type],
    [nil, audit.changes.to_json],
    [nil, audit.attributed_to[:id]],
    [nil, audit.attributed_to.to_json],
    [nil, audit.comment],
    [nil, audit.recorded_at]
  ])
end