Class: Cosmo::API::Job

Inherits:
Object
  • Object
show all
Defined in:
lib/cosmo/api/job.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(stream, message) ⇒ Job

Returns a new instance of Job.



8
9
10
11
# File 'lib/cosmo/api/job.rb', line 8

def initialize(stream, message)
  @stream = stream
  @message = message
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



6
7
8
# File 'lib/cosmo/api/job.rb', line 6

def message
  @message
end

#streamObject (readonly)

Returns the value of attribute stream.



6
7
8
# File 'lib/cosmo/api/job.rb', line 6

def stream
  @stream
end

Instance Method Details

#dataObject



13
14
15
# File 'lib/cosmo/api/job.rb', line 13

def data
  @data ||= Utils::Json.parse(@message.data)
end

#execute_atObject



25
26
27
# File 'lib/cosmo/api/job.rb', line 25

def execute_at
  headers&.dig("X-Execute-At")&.to_i
end

#headersObject



21
22
23
# File 'lib/cosmo/api/job.rb', line 21

def headers
  @message.headers
end

#seqObject



17
18
19
# File 'lib/cosmo/api/job.rb', line 17

def seq
  @message.seq
end

#subjectObject



37
38
39
# File 'lib/cosmo/api/job.rb', line 37

def subject
  @message.subject
end

#timestampObject



41
42
43
# File 'lib/cosmo/api/job.rb', line 41

def timestamp
  headers&.dig("Nats-Time-Stamp")
end

#x_streamObject



29
30
31
# File 'lib/cosmo/api/job.rb', line 29

def x_stream
  headers&.dig("X-Stream")
end

#x_subjectObject



33
34
35
# File 'lib/cosmo/api/job.rb', line 33

def x_subject
  headers&.dig("X-Subject")
end