Sha256: 8c2f23aaf3cd0e8ba70b3ec54fffdcd8d8293212288be9462468b8d8bb6601c1

Contents?: true

Size: 668 Bytes

Versions: 2

Compression:

Stored size: 668 Bytes

Contents

module Alman
  class ApiClient
    attr_accessor :headers, :params

    def initialize(headers, params)
      self.refresh_from(headers, params)
    end

    def refresh_from(headers, params)
      @headers = headers
      @params = params
      self
    end

    def execute(api_method)
      api_method.headers = ParamsBuilder.merge(api_method.headers, @headers)
      api_method.params = ParamsBuilder.merge(api_method.params, @params)
      api_method.execute
    end

    def inspect
      "#<#{self.class}:0x#{self.object_id.to_s(16)}> Headers: " +
        JSON.pretty_generate(@headers) + ", Params: " +
        JSON.pretty_generate(@params)
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
alman-0.0.2 lib/alman/apibits/api_client.rb
alman-0.0.1 lib/alman/apibits/api_client.rb