Sha256: 1945531da09c4188aba7d40481aa9ebff805d3207c9a2512b6340e6f5f479579
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
module RiskalyzeAPI class << self attr_accessor :session end def self.session @session ||= Session.new end class Session attr_reader :config def initialize @config = RiskalyzeAPI.config yield @config if block_given? end def post(resource, params) handle_response HTTParty.post( url([resource, id]), headers: headers, body: params ) end def get(resource, id = nil) handle_response HTTParty.get( url([resource, id]), headers: headers ) end def put(resource, id, params) handle_response HTTParty.put( url([resource, id]), headers: headers, body: params ) end def delete(resource, id) handle_response HTTParty.delete( url([resource, id]), headers: headers ) end private def url(parts) "#{config.url}/#{parts.compact.join('/')}" end def headers headers = { 'Accept' => 'application/json' } if config.authorization_type == 'ApiKey' headers['Authorization'] = "ApiKey #{config.api_key}" else headers['Authorization'] = "Bearer #{config.oauth_token}" end headers end def handle_response(response) if response.code != 200 case response.code when 401 raise AuthorizationError.new(response.response.msg, response.response) else raise RequestError.new(response.response.msg, response.response) end end response.parsed_response end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
riskalyze_api-0.2.0 | lib/riskalyze_api/session.rb |