Module: SyncLoggable

Defined in:
lib/generators/harmonia/templates/concerns/sync_loggable.rb

Instance Method Summary collapse

Instance Method Details

#log_create_error(id:, id_type: :fm, error:) ⇒ Object



31
32
33
34
# File 'lib/generators/harmonia/templates/concerns/sync_loggable.rb', line 31

def log_create_error(id:, id_type: :fm, error:)
  label = id_type == :fm ? "FileMaker ID" : "PostgreSQL ID"
  Rails.logger.error("[SYNC] Failed to create record from #{label} #{id}: #{error.message}")
end

#log_delete_error(id:, id_type: :fm, error:) ⇒ Object



41
42
43
44
# File 'lib/generators/harmonia/templates/concerns/sync_loggable.rb', line 41

def log_delete_error(id:, id_type: :fm, error:)
  label = id_type == :fm ? "FileMaker ID" : "PostgreSQL ID"
  Rails.logger.error("[SYNC] Failed to delete record with #{label} #{id}: #{error.message}")
end

#log_needs_update_error(id:, id_type: :fm, error:) ⇒ Object



46
47
48
49
# File 'lib/generators/harmonia/templates/concerns/sync_loggable.rb', line 46

def log_needs_update_error(id:, id_type: :fm, error:)
  label = id_type == :fm ? "FileMaker ID" : "PostgreSQL ID"
  Rails.logger.error("[SYNC] Failed needs_update? check for #{label} #{id}: #{error.message}")
end

#log_sync_error(table:, direction:, error:) ⇒ Object



27
28
29
# File 'lib/generators/harmonia/templates/concerns/sync_loggable.rb', line 27

def log_sync_error(table:, direction:, error:)
  Rails.logger.error("[SYNC ERROR] #{table} | #{direction} | #{error.class}: #{error.message}")
end

#log_sync_finish(table:, direction:, created:, updated:, deleted:, failed_fm:, failed_pg:, duration: nil) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/generators/harmonia/templates/concerns/sync_loggable.rb', line 17

def log_sync_finish(table:, direction:, created:, updated:, deleted:, failed_fm:, failed_pg:, duration: nil)
  parts = [
    "[SYNC DONE ] #{table} | #{direction}",
    "created=#{created} updated=#{updated} deleted=#{deleted}",
    "failed_fm=#{failed_fm} failed_pg=#{failed_pg}"
  ]
  parts << "duration=#{duration.round(2)}s" if duration
  Rails.logger.info(parts.join(' | '))
end

#log_sync_plan(table:, direction:, to_create:, to_update:, to_delete:) ⇒ Object



10
11
12
13
14
15
# File 'lib/generators/harmonia/templates/concerns/sync_loggable.rb', line 10

def log_sync_plan(table:, direction:, to_create:, to_update:, to_delete:)
  Rails.logger.info(
    "[SYNC PLAN ] #{table} | #{direction} | " \
    "to_create=#{to_create} to_update=#{to_update} to_delete=#{to_delete}"
  )
end

#log_sync_start(table:, direction:, server_id: nil) ⇒ Object



4
5
6
7
8
# File 'lib/generators/harmonia/templates/concerns/sync_loggable.rb', line 4

def log_sync_start(table:, direction:, server_id: nil)
  parts = ["[SYNC START] #{table} | #{direction}"]
  parts << "server=#{server_id}" if server_id
  Rails.logger.info(parts.join(' | '))
end

#log_update_error(id:, id_type: :fm, error:) ⇒ Object



36
37
38
39
# File 'lib/generators/harmonia/templates/concerns/sync_loggable.rb', line 36

def log_update_error(id:, id_type: :fm, error:)
  label = id_type == :fm ? "FileMaker ID" : "PostgreSQL ID"
  Rails.logger.error("[SYNC] Failed to update record from #{label} #{id}: #{error.message}")
end