module BlockScore::Connection
Public Instance Methods
delete(path, params)
click to toggle source
# File lib/blockscore/connection.rb, line 15 def delete(path, params) request(:delete, path, params) end
get(path, params)
click to toggle source
# File lib/blockscore/connection.rb, line 3 def get(path, params) request :get, path, params end
patch(path, params)
click to toggle source
# File lib/blockscore/connection.rb, line 11 def patch(path, params) request(:patch, path, params) end
post(path, params)
click to toggle source
# File lib/blockscore/connection.rb, line 7 def post(path, params) request(:post, path, params) end
Private Instance Methods
encode_path_params(path, params)
click to toggle source
# File lib/blockscore/connection.rb, line 56 def encode_path_params(path, params) encoded = URI.encode_www_form(params) [path, encoded].join('?') end
execute_request(method, path, params)
click to toggle source
# File lib/blockscore/connection.rb, line 41 def execute_request(method, path, params) auth = { username: BlockScore.api_key, password: '' } if method == :get path = encode_path_params(path, params) params = nil else params = params.to_json end options = { basic_auth: auth, headers: headers, body: params } HTTParty.send(method, path, options) end
headers()
click to toggle source
# File lib/blockscore/connection.rb, line 21 def headers @headers ||= { 'Accept' => "application/vnd.blockscore+json;version=#{BlockScore::VERSION.to_i}", 'User-Agent' => "blockscore-ruby/#{BlockScore::VERSION} (https://github.com/BlockScore/blockscore-ruby)", 'Content-Type' => 'application/json' } end
request(method, path, params)
click to toggle source
# File lib/blockscore/connection.rb, line 29 def request(method, path, params) fail NoAPIKeyError, 'No API key was provided.' unless BlockScore.api_key begin response = execute_request(method, path, params) rescue SocketError, Errno::ECONNREFUSED => e raise APIConnectionError, e.message end Response.handle_response(resource, response) end