class Queuel::Base::Message

Attributes

body[W]
id[RW]
message_object[RW]
options[RW]
queue[RW]
raw_body[RW]

Public Class Methods

new(message_object = nil, options = {}) click to toggle source

@argument message_object @argument options hash

# File lib/queuel/base/message.rb, line 24
def initialize(message_object = nil, options = {})
  self.message_object = message_object
  self.options = options
end

Public Instance Methods

blank?()
Alias for: empty?
body() click to toggle source
# File lib/queuel/base/message.rb, line 33
def body
  @body || decoded_raw_body
end
delete() click to toggle source
# File lib/queuel/base/message.rb, line 29
def delete
  raise NotImplementedError, "must define method #delete"
end
empty?() click to toggle source
# File lib/queuel/base/message.rb, line 37
def empty?
  raw_body.to_s.empty?
end
Also aliased as: blank?
present?() click to toggle source
# File lib/queuel/base/message.rb, line 42
def present?
  !empty?
end

Private Instance Methods

decode?() click to toggle source
# File lib/queuel/base/message.rb, line 60
def decode?
  options.fetch(:decode) { decode_by_default? }
end
decode_body?() click to toggle source
# File lib/queuel/base/message.rb, line 76
def decode_body?
  !decoder.nil? && decode? && raw_body.is_a?(String)
end
decoded_raw_body() click to toggle source
# File lib/queuel/base/message.rb, line 64
def decoded_raw_body
  decode_body? ? decoder.call(raw_body) : raw_body
end
decoder() click to toggle source
# File lib/queuel/base/message.rb, line 48
def decoder
  options[:decoder] || Queuel.decoder
end
encode?() click to toggle source
# File lib/queuel/base/message.rb, line 56
def encode?
  options.fetch(:encode) { encode_by_default? }
end
encode_body?() click to toggle source
# File lib/queuel/base/message.rb, line 72
def encode_body?
  !@body.to_s.empty? && !encoder.nil? && encode?
end
encoded_body() click to toggle source
# File lib/queuel/base/message.rb, line 68
def encoded_body
  encode_body? ? encoder.call(body) : body
end
encoder() click to toggle source
# File lib/queuel/base/message.rb, line 52
def encoder
  options[:encoder] || Queuel.encoder
end