Sha256: 0c29624b7e5411662ad03c7aa0e039e8fc1903a8a7bfcb45d81d33288ceb92b7

Contents?: true

Size: 879 Bytes

Versions: 2

Compression:

Stored size: 879 Bytes

Contents

require 'captivus/util'
require 'faraday'
require 'faraday/request/hmac_authentication'

module Captivus
  class Notifier
    def initialize(config)
      @config = config
    end

    def notify(payload)
      return if config.development_environments.include?(config.environment)

      connection = Faraday.new(:url => "#{config.scheme}://#{config.host}") do |faraday|
        faraday.request :hmac_authentication, config.api_key, config.api_secret_key, {:service_id => 'Captivus'}
        faraday.adapter :net_http
      end

      connection.post do |request|
        request.headers['Content-Type'] = 'application/json; charset=UTF-8'
        request.url '/events'
        request.body = Captivus::Util.hash_to_json(payload)
      end
    end

    def ==(other)
      other.is_a?(Notifier) && config == other.config
    end

    protected

    attr_reader :config
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
captivus-0.0.6 lib/captivus/notifier.rb
captivus-0.0.5 lib/captivus/notifier.rb