Sha256: ab9bfdfcb0a9f15cd5136b0b51c5a3218761622134caa78f4a23af16df26e516
Contents?: true
Size: 1.49 KB
Versions: 2
Compression:
Stored size: 1.49 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) raise RequestError.new(response.response.msg, response.response) if response.code != 200 response.parsed_response end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
riskalyze_api-0.1.0 | lib/riskalyze_api/session.rb |
riskalyze-api-0.1.0 | lib/riskalyze_api/session.rb |