Class: Bulletin::Store::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/bulletin/store/base.rb

Overview

Interface contract for persistence backends.

Direct Known Subclasses

ActiveRecord, Null

Instance Method Summary collapse

Instance Method Details

#prune!Object

Remove issues/occurrences older than the configured retention window.

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/bulletin/store/base.rb', line 15

def prune!
  raise NotImplementedError, "#{self.class} must implement #prune!"
end

#record(_payload) ⇒ Object

payload is a JSON-safe Hash:

{ "controller" =>, "action" =>, "path" =>, "request_id" =>,
  "warnings" => [ { "kind", "base_class", "associations", "advice", "backtrace" }, ... ] }

Raises:

  • (NotImplementedError)


10
11
12
# File 'lib/bulletin/store/base.rb', line 10

def record(_payload)
  raise NotImplementedError, "#{self.class} must implement #record"
end