Sha256: f81d05f7c4dd38720a244c6ec359ee69a4c70a724907b6db0895428b77b9ba74

Contents?: true

Size: 921 Bytes

Versions: 2

Compression:

Stored size: 921 Bytes

Contents

require 'faraday'

module OpenMarket

  class Client
    attr_reader :client

    HEADERS = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json'
    }.freeze

    def initialize(account_id:, account_password:) # For now these ones
      @account_id = account_id
      @account_password = account_password

      @client = init_client
    end

    private

    def init_client
      ::Faraday.new(url: base_url).tap do |conn|
        conn.basic_auth(@account_id, @account_password)

        HEADERS.each do |name, value|
          conn.headers[name] = value
        end
      end
    end

    def base_url
      OpenMarket::API_URL
    end

    def send_request(request)
      params = \
        if !request.body.nil? && !request.body.empty?
          request.body.to_json
        end

      client.send(
        request.method,
        request.url,
        params
      )
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sms_broker-1.0.8 lib/open_market/client.rb
sms_broker-1.0.7 lib/open_market/client.rb