Class: Cosmo::API::Job

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(stream, message) ⇒ Job

Returns a new instance of Job.

Parameters:

  • stream (::String)
  • message (Object)


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.

Returns:

  • (Object)


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

def message
  @message
end

#stream::String (readonly)

Returns the value of attribute stream.

Returns:

  • (::String)


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

def stream
  @stream
end

Instance Method Details

#dataHash[Symbol, untyped]?

Returns:

  • (Hash[Symbol, untyped], nil)


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

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

#execute_at::Integer?

Returns:

  • (::Integer, nil)


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

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

#headersHash[::String, ::String]?

Returns:

  • (Hash[::String, ::String], nil)


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

def headers
  @message.headers
end

#seq::Integer, ::String

Returns:

  • (::Integer, ::String)


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

def seq
  @message.seq
end

#subject::String

Returns:

  • (::String)


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

def subject
  @message.subject
end

#timestamp::String?

Returns:

  • (::String, nil)


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

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

#x_stream::String?

Returns:

  • (::String, nil)


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

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

#x_subject::String?

Returns:

  • (::String, nil)


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

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