Sha256: f9c1718b014486e3d045d38fd1c41515021e620b3af230e5b3313c7e2122acb1

Contents?: true

Size: 717 Bytes

Versions: 66

Compression:

Stored size: 717 Bytes

Contents

require "cobrato/request"
require "cobrato/response"

module Cobrato
  class Http
    attr_reader :token

    def initialize(token)
     @token = token
    end

    %w[get post delete put patch].each do |m|
      define_method(m) do |path, options = {}, &block|
        send_request(m.to_sym, path, options, &block)
      end
    end

    private

    def send_request(method, path, options, &block)
      request  = Request.new(options.merge!({
        method:     method,
        token:      token,
        url:        "#{Cobrato.configuration.url}#{path}",
        user_agent: Cobrato.configuration.user_agent
      }))
      response = Response.new(request.run)
      response.resolve!(&block)
    end

  end
end

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
cobrato-client-0.23.0.beta8 lib/cobrato/http.rb
cobrato-client-0.23.0.beta7 lib/cobrato/http.rb
cobrato-client-0.23.0.beta6 lib/cobrato/http.rb
cobrato-client-0.23.0.beta5 lib/cobrato/http.rb
cobrato-client-0.23.0.beta4 lib/cobrato/http.rb
cobrato-client-0.23.0.beta3 lib/cobrato/http.rb
cobrato-client-0.23.0.beta2 lib/cobrato/http.rb
cobrato-client-0.23.0.beta1 lib/cobrato/http.rb
cobrato-client-0.22.0 lib/cobrato/http.rb
cobrato-client-0.21.0 lib/cobrato/http.rb
cobrato-client-0.20.0 lib/cobrato/http.rb
cobrato-client-0.19.0 lib/cobrato/http.rb
cobrato-client-0.18.0 lib/cobrato/http.rb
cobrato-client-0.17.0 lib/cobrato/http.rb
cobrato-client-0.16.0 lib/cobrato/http.rb
cobrato-client-0.15.0 lib/cobrato/http.rb
cobrato-client-0.14.0 lib/cobrato/http.rb
cobrato-client-0.13.0 lib/cobrato/http.rb
cobrato-client-0.12.0 lib/cobrato/http.rb
cobrato-client-0.11.0 lib/cobrato/http.rb