Class: Happn::Event
- Inherits:
-
Object
- Object
- Happn::Event
- Defined in:
- lib/happn/event.rb
Instance Method Summary collapse
- #add_change(name, value) ⇒ Object
- #associations ⇒ Object
- #change_after(attribute_name) ⇒ Object
- #change_before(attribute_name) ⇒ Object
- #changes ⇒ Object
- #changes=(new_changes) ⇒ Object
- #data ⇒ Object
- #delete_change(attribute_name) ⇒ Object
- #emitter ⇒ Object
- #has_change?(attribute_name) ⇒ Boolean
- #id ⇒ Object
-
#initialize(args) ⇒ Event
constructor
A new instance of Event.
- #kind ⇒ Object
- #name ⇒ Object
- #request_metadata ⇒ Object
- #status ⇒ Object
- #timestamp ⇒ Object
- #user_metadata ⇒ Object
Constructor Details
#initialize(args) ⇒ Event
Returns a new instance of Event.
6 7 8 9 |
# File 'lib/happn/event.rb', line 6 def initialize(args) @meta = deep_underscore_keys(args.fetch("meta")) @data = deep_underscore_keys(args.fetch("data")) end |
Instance Method Details
#add_change(name, value) ⇒ Object
31 32 33 34 |
# File 'lib/happn/event.rb', line 31 def add_change(name, value) new_value = value == "" ? nil : value changes[name.to_sym] = [nil, new_value] end |
#associations ⇒ Object
36 37 38 |
# File 'lib/happn/event.rb', line 36 def associations @data[:associations] end |
#change_after(attribute_name) ⇒ Object
64 65 66 |
# File 'lib/happn/event.rb', line 64 def change_after(attribute_name) changes[attribute_name.to_sym]&.last end |
#change_before(attribute_name) ⇒ Object
68 69 70 |
# File 'lib/happn/event.rb', line 68 def change_before(attribute_name) changes[attribute_name.to_sym]&.first end |
#changes ⇒ Object
23 24 25 |
# File 'lib/happn/event.rb', line 23 def changes @data[:changes] end |
#changes=(new_changes) ⇒ Object
27 28 29 |
# File 'lib/happn/event.rb', line 27 def changes=(new_changes) @data[:changes] = new_changes end |
#data ⇒ Object
11 12 13 |
# File 'lib/happn/event.rb', line 11 def data @data end |
#delete_change(attribute_name) ⇒ Object
76 77 78 |
# File 'lib/happn/event.rb', line 76 def delete_change(attribute_name) changes.delete(attribute_name) end |
#emitter ⇒ Object
60 61 62 |
# File 'lib/happn/event.rb', line 60 def emitter @meta[:emitter] end |
#has_change?(attribute_name) ⇒ Boolean
72 73 74 |
# File 'lib/happn/event.rb', line 72 def has_change?(attribute_name) !changes[attribute_name].nil? end |
#id ⇒ Object
44 45 46 |
# File 'lib/happn/event.rb', line 44 def id @meta[:id] end |
#kind ⇒ Object
56 57 58 |
# File 'lib/happn/event.rb', line 56 def kind @meta[:kind] end |
#name ⇒ Object
48 49 50 |
# File 'lib/happn/event.rb', line 48 def name @meta[:name] end |
#request_metadata ⇒ Object
19 20 21 |
# File 'lib/happn/event.rb', line 19 def @data[:request_metadata] end |
#status ⇒ Object
52 53 54 |
# File 'lib/happn/event.rb', line 52 def status @meta[:status] end |
#timestamp ⇒ Object
40 41 42 |
# File 'lib/happn/event.rb', line 40 def DateTime.parse(@meta[:timestamp]) end |
#user_metadata ⇒ Object
15 16 17 |
# File 'lib/happn/event.rb', line 15 def @data[:user_metadata] end |