module Crunchbase
Constants
- ORDER_CREATED_AT_ASC
- ORDER_CREATED_AT_DESC
- ORDER_UPDATED_AT_ASC
- ORDER_UPDATED_AT_DESC
- VERSION
Public Class Methods
fetch(resource, data = {})
click to toggle source
# File lib/crunchbase-api.rb, line 28 def fetch(resource, data = {}) data[:user_key] = self.user_key uri_str = "#{self.api_endpoint}/#{resource}?" uri_str << data.map { |k, v| "#{CGI::escape(k.to_s)}=#{CGI::escape(v.to_s)}" }.join('&') begin uri = URI.parse(uri_str) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) response = http.request(request) raise CrunchbaseException, response.body.to_s unless response.code.to_i == 200 body = response.body.to_s rescue => e raise CrunchbaseException, "Failed to fetch #{uri_str}: #{e}" end begin response = JSON.parse body rescue => e raise CrunchbaseException, "Failed to parse response for #{uri_str}: #{e}" end if response['data']['error'] and response['data']['error']['message'] raise CrunchbaseException, response['data']['error']['message'] end response['data'] end