Module: Controller::Application

Defined in:
app/controllers/auditor/controller/application.rb

Instance Method Summary collapse

Instance Method Details

#mark_audits(instance: [], local: [], **options) ⇒ Object

after_action



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/controllers/auditor/controller/application.rb', line 5

def mark_audits(instance: [], local: [], **options)
  instance_records = Array(instance).map!(&:to_sym) & valid_ivars
  instance_records.each do |ivar|
    record = instance_variable_get(ivar)
    next unless record.is_a?(ActiveRecord::Base)
    save_audits(record, **options)
  end

  local_records = Array(local).map!(&:to_sym) & local_variables
  local_records.each do |ivar|
    record = eval(ivar)
    next unless record.is_a?(ActiveRecord::Base)
    save_audits(record, **options)
  end
end

#save_audits(record, **options) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'app/controllers/auditor/controller/application.rb', line 21

def save_audits(record, **options)
  record.save_audits(
    operator: rails_audit_user,
    controller_path: controller_path,
    action_name: action_name,
    remote_ip: request.remote_ip,
    **options.slice(:only, :except, :include, :note, :extra)
  )
end