Sha256: c60589df146e37e3cc1ec0a01d40dec26539dbe5b032f7217ce7849787839038

Contents?: true

Size: 872 Bytes

Versions: 5

Compression:

Stored size: 872 Bytes

Contents

module ManageIQ
  module Messaging
    module Common
      private

      def encode_body(headers, body)
        return body if body.kind_of?(String)
        headers[:encoding] = encoding
        case encoding
        when "json"
          JSON.generate(body)
        when "yaml"
          body.to_yaml
        else
          raise "unknown message encoding: #{encoding}"
        end
      end

      def decode_body(headers, raw_body)
        return raw_body unless headers.kind_of?(Hash)
        case headers["encoding"]
        when "json"
          JSON.parse(raw_body)
        when "yaml"
          YAML.safe_load(raw_body)
        else
          raw_body
        end
      end

      def payload_log(payload)
        payload.to_s[0..100]
      end

      def auto_ack?(options)
        options.key?(:auto_ack) ? options[:auto_ack] : true
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
manageiq-messaging-0.1.5 lib/manageiq/messaging/common.rb
manageiq-messaging-0.1.4 lib/manageiq/messaging/common.rb
manageiq-messaging-0.1.3 lib/manageiq/messaging/common.rb
manageiq-messaging-0.1.2 lib/manageiq/messaging/common.rb
manageiq-messaging-0.1.1 lib/manageiq/messaging/common.rb