class AuditLoggable::AuditRecord

Attributes

action[R]
auditable[R]
changeset[R]
remote_address[R]
request_uuid[R]
user[R]

Public Class Methods

new(auditable, user, action, changeset, remote_address, request_uuid) click to toggle source
# File lib/audit_loggable/audit_record.rb, line 5
def initialize(auditable, user, action, changeset, remote_address, request_uuid)
  @auditable = auditable
  @user = user
  @action = action
  @changeset = changeset
  @remote_address = remote_address
  @request_uuid = request_uuid
end

Public Instance Methods

as_json(*) click to toggle source
# File lib/audit_loggable/audit_record.rb, line 14
def as_json(*)
  {
    auditable: { id: auditable.id, type: auditable.class.polymorphic_name },
    user: user ? { id: user.id, type: user.class.polymorphic_name } : nil,
    action: action,
    changes: changeset.to_json, # serialize to JSON string
    remote_address: remote_address,
    request_uuid: request_uuid
  }
end