Sha256: 16262287dda037c5ce3ce49f1b6498166e9b0762e19bb7e8db524351a50de279

Contents?: true

Size: 644 Bytes

Versions: 2

Compression:

Stored size: 644 Bytes

Contents

module Patronage
  class API
    def initialize(base_url, options = {})
      @session          = ::Patron::Session.new
      @session.base_url = base_url
      @default_params   = options.delete(:params) || {}
    
      options.each do |key, value|
        if @session.public_methods.include?("#{key}=")
          send("#{key}=", value)
        end
      end
    end
  
    def get(url, headers = {})
      url = ::Addressable::URI.parse(url)
      url.query_values = url.query_values.merge(@default_params)
      @session.get(url.to_s, headers)
    end
  
    def service(service_name)
      Service.new(self, service_name)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
divoxx-patronage-0.0.3 lib/patronage/api.rb
divoxx-patronage-0.0.4 lib/patronage/api.rb