Module: Chatrix::Events
- Defined in:
- lib/chatrix/events.rb
Overview
Keeps track of what events have already been processed.
Class Method Summary collapse
-
.parse_event(event) ⇒ String
Extract the event ID from an event object.
-
.processed(event) ⇒ Object
Marks an event as having been processed.
-
.processed?(event) ⇒ Boolean
Checks if an event has been processed.
Class Method Details
.parse_event(event) ⇒ String
Extract the event ID from an event object. If this is a string, it's returned verbatim.
32 33 34 35 36 37 38 39 40 |
# File 'lib/chatrix/events.rb', line 32 def self.parse_event(event) if event.is_a? String event elsif event.is_a?(Hash) && event.key?('event_id') event['event_id'] else raise ArgumentError, 'Invalid event object' end end |
.processed(event) ⇒ Object
Marks an event as having been processed.
11 12 13 |
# File 'lib/chatrix/events.rb', line 11 def self.processed(event) @processed.push parse_event event end |
.processed?(event) ⇒ Boolean
Checks if an event has been processed.
20 21 22 |
# File 'lib/chatrix/events.rb', line 20 def self.processed?(event) @processed.member? parse_event event end |