Class: Events::BaseEvent

Inherits:
Object
  • Object
show all
Extended by:
Gem::Deprecate
Defined in:
lib/artsy-eventservice/presenters/events/base_event.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user: nil, action:, model:) ⇒ BaseEvent

Returns a new instance of BaseEvent.



9
10
11
12
13
# File 'lib/artsy-eventservice/presenters/events/base_event.rb', line 9

def initialize(user: nil, action:, model:)
  @subject = user
  @verb = action
  @object = model
end

Instance Attribute Details

#objectObject (readonly)

Returns the value of attribute object.



7
8
9
# File 'lib/artsy-eventservice/presenters/events/base_event.rb', line 7

def object
  @object
end

#propertiesObject (readonly)

Returns the value of attribute properties.



7
8
9
# File 'lib/artsy-eventservice/presenters/events/base_event.rb', line 7

def properties
  @properties
end

#subjectObject (readonly)

Returns the value of attribute subject.



7
8
9
# File 'lib/artsy-eventservice/presenters/events/base_event.rb', line 7

def subject
  @subject
end

#verbObject (readonly)

Returns the value of attribute verb.



7
8
9
# File 'lib/artsy-eventservice/presenters/events/base_event.rb', line 7

def verb
  @verb
end

Instance Method Details

#jsonObject



41
42
43
44
# File 'lib/artsy-eventservice/presenters/events/base_event.rb', line 41

def json
  # Deprecated, switch to to_json
  to_json
end

#routing_keyObject



47
48
49
# File 'lib/artsy-eventservice/presenters/events/base_event.rb', line 47

def routing_key
  "#{@object.class.to_s.downcase.gsub('::', '-')}.#{@verb}"
end

#to_jsonObject



34
35
36
37
38
39
# File 'lib/artsy-eventservice/presenters/events/base_event.rb', line 34

def to_json
  JSON.generate(verb: @verb,
                subject: subject,
                object: object,
                properties: properties)
end