module SolidErrors class Error < Record SEVERITY_TO_EMOJI = { error: "🔥", warning: "⚠️", info: "ℹ️" } has_many :occurrences, class_name: "SolidErrors::Occurrence", dependent: :destroy validates :exception_class, presence: true validates :message, presence: true validates :severity, presence: true scope :resolved, -> { where.not(resolved_at: nil) } scope :unresolved, -> { where(resolved_at: nil) } def emoji SEVERITY_TO_EMOJI[severity.to_sym] end end end