module Jackal::Utils::Payload

Payload helper utilities

Public Instance Methods

new_payload(name, payload, *args) click to toggle source

Generate a new payload

@param name [String] @param payload [Hash] @param args [Object] extra arguments @return [Smash]

# File lib/jackal/utils/payload.rb, line 15
def new_payload(name, payload, *args)
  Smash.new(
    :name => name,
    :id => Carnivore.uuid,
    :data => payload
  )
end
unpack(message) click to toggle source

Extract payload from message

@param message [Carnivore::Message] @return [Smash]

# File lib/jackal/utils/payload.rb, line 27
def unpack(message)
  if(message[:content])
    result = message[:content].to_smash
  else
    msg = message[:message].to_smash
    result = msg.fetch(:payload, msg)
  end
  if(respond_to?(:pre_formatters) && (pre_formatters && !pre_formatters.empty?))
    pre_formatters.each do |formatter|
      begin
        formatter.format(result)
      rescue => e
        error "Formatter error encountered (<#{formatter}>): #{e.class} - #{e}"
      end
    end
  end
  result
end