class PhobosDBCheckpoint::Failure
Public Class Methods
exists?(checksum)
click to toggle source
# File lib/phobos_db_checkpoint/failure.rb, line 30 def self.exists?(checksum) where(checksum: checksum).exists? end
record(event:, event_metadata:, exception: nil)
click to toggle source
# File lib/phobos_db_checkpoint/failure.rb, line 11 def self.record(event:, event_metadata:, exception: nil) return if exists?(event_metadata[:checksum]) create do |record| record.topic = event_metadata[:topic] record.group_id = event_metadata[:group_id] record.entity_id = event.fetch_entity_id record.event_time = event.fetch_event_time record.event_type = event.fetch_event_type record.event_version = event.fetch_event_version record.checksum = event_metadata[:checksum] record.payload = event.payload record.metadata = event_metadata record.error_class = exception&.class&.name record.error_message = exception&.message record.error_backtrace = exception&.backtrace end end
Public Instance Methods
group_id()
click to toggle source
# File lib/phobos_db_checkpoint/failure.rb, line 42 def group_id attributes['group_id'] || metadata[:group_id] end
metadata()
click to toggle source
# File lib/phobos_db_checkpoint/failure.rb, line 38 def metadata attributes['metadata'].deep_symbolize_keys end
payload()
click to toggle source
# File lib/phobos_db_checkpoint/failure.rb, line 34 def payload attributes['payload'].deep_symbolize_keys end