class SQS::Job::Message::Base

Base class for messages. A Message::Base subclass must implement an invoke! method which performs the appropriate operation.

Attributes

message_id[R]

Id of this message. Used to send replies.

params[R]

Parameters for the message. This Hash is frozen.

Public Class Methods

new(params) click to toggle source
# File lib/sqs/job/message/base.rb, line 11
def initialize params
  # We allow messages with no params field
  @params = (params || {}).symbolize_keys.freeze
end

Public Instance Methods

param!(name) click to toggle source

Get a parameter or raise an exception if it's not present @param name [Symbol,String] the param name

# File lib/sqs/job/message/base.rb, line 24
def param! name
  params[name.to_sym] or raise "Missing parameter #{name}"
end
type() click to toggle source

Type field for this message. Used primarily when sending replies.

# File lib/sqs/job/message/base.rb, line 30
def type
  self.class.name.split('::')[-1].underscore
end