Class: JetstreamBridge::Models::PublishResult

Inherits:
Object
  • Object
show all
Defined in:
lib/jetstream_bridge/models/publish_result.rb

Overview

Result object returned from publish operations

Examples:

Checking result status

result = JetstreamBridge.publish(event_type: "user.created", payload: { id: 1 })
if result.success?
  puts "Published with event_id: #{result.event_id}"
else
  puts "Failed: #{result.error.message}"
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(success:, event_id:, subject:, error: nil, duplicate: false) ⇒ PublishResult



22
23
24
25
26
27
28
29
# File 'lib/jetstream_bridge/models/publish_result.rb', line 22

def initialize(success:, event_id:, subject:, error: nil, duplicate: false)
  @success = success
  @event_id = event_id
  @subject = subject
  @error = error
  @duplicate = duplicate
  freeze
end

Instance Attribute Details

#duplicateObject (readonly)

Returns the value of attribute duplicate.



15
16
17
# File 'lib/jetstream_bridge/models/publish_result.rb', line 15

def duplicate
  @duplicate
end

#errorObject (readonly)

Returns the value of attribute error.



15
16
17
# File 'lib/jetstream_bridge/models/publish_result.rb', line 15

def error
  @error
end

#event_idObject (readonly)

Returns the value of attribute event_id.



15
16
17
# File 'lib/jetstream_bridge/models/publish_result.rb', line 15

def event_id
  @event_id
end

#subjectObject (readonly)

Returns the value of attribute subject.



15
16
17
# File 'lib/jetstream_bridge/models/publish_result.rb', line 15

def subject
  @subject
end

Instance Method Details

#duplicate?Boolean



42
43
44
# File 'lib/jetstream_bridge/models/publish_result.rb', line 42

def duplicate?
  @duplicate
end

#failure?Boolean



37
38
39
# File 'lib/jetstream_bridge/models/publish_result.rb', line 37

def failure?
  !@success
end

#inspectObject



59
60
61
# File 'lib/jetstream_bridge/models/publish_result.rb', line 59

def inspect
  "#<#{self.class.name} success=#{@success} event_id=#{@event_id} duplicate=#{@duplicate}>"
end

#success?Boolean



32
33
34
# File 'lib/jetstream_bridge/models/publish_result.rb', line 32

def success?
  @success
end

#to_hHash Also known as: to_hash



47
48
49
50
51
52
53
54
55
# File 'lib/jetstream_bridge/models/publish_result.rb', line 47

def to_h
  {
    success: @success,
    event_id: @event_id,
    subject: @subject,
    duplicate: @duplicate,
    error: @error&.message
  }
end