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