crunchbase-ruby-library 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +5 -4
- data/bin/console +5 -2
- data/bin/setup +4 -1
- data/crunchbase-ruby-library.gemspec +1 -1
- data/lib/crunchbase/api.rb +8 -11
- data/lib/crunchbase/client.rb +0 -1
- data/lib/crunchbase/exception.rb +0 -1
- data/lib/crunchbase/model/acquired_by.rb +1 -1
- data/lib/crunchbase/model/acquisition.rb +2 -2
- data/lib/crunchbase/model/address.rb +1 -1
- data/lib/crunchbase/model/advisory_role.rb +1 -1
- data/lib/crunchbase/model/batch_search.rb +31 -32
- data/lib/crunchbase/model/board_members_and_advisor.rb +1 -1
- data/lib/crunchbase/model/category.rb +1 -1
- data/lib/crunchbase/model/competitor.rb +1 -1
- data/lib/crunchbase/model/current_team.rb +1 -1
- data/lib/crunchbase/model/customer.rb +1 -1
- data/lib/crunchbase/model/degree.rb +1 -1
- data/lib/crunchbase/model/featured_team.rb +1 -1
- data/lib/crunchbase/model/founded_company.rb +1 -1
- data/lib/crunchbase/model/founder.rb +1 -1
- data/lib/crunchbase/model/fund.rb +1 -1
- data/lib/crunchbase/model/fund_raise.rb +1 -1
- data/lib/crunchbase/model/funding_round.rb +2 -2
- data/lib/crunchbase/model/image.rb +1 -1
- data/lib/crunchbase/model/investment.rb +1 -1
- data/lib/crunchbase/model/investor.rb +1 -1
- data/lib/crunchbase/model/ipo.rb +1 -1
- data/lib/crunchbase/model/job.rb +1 -1
- data/lib/crunchbase/model/location.rb +1 -1
- data/lib/crunchbase/model/member.rb +1 -1
- data/lib/crunchbase/model/membership.rb +1 -1
- data/lib/crunchbase/model/new.rb +1 -1
- data/lib/crunchbase/model/office.rb +1 -1
- data/lib/crunchbase/model/organization.rb +1 -1
- data/lib/crunchbase/model/past_team.rb +1 -1
- data/lib/crunchbase/model/person.rb +1 -1
- data/lib/crunchbase/model/product.rb +1 -1
- data/lib/crunchbase/model/sub_organization.rb +1 -1
- data/lib/crunchbase/model/video.rb +1 -1
- data/lib/crunchbase/model/website.rb +1 -1
- data/lib/crunchbase/model.rb +0 -1
- data/lib/crunchbase/request/client.rb +0 -1
- data/lib/crunchbase/request.rb +0 -1
- data/lib/crunchbase/version.rb +2 -1
- data/lib/crunchbase.rb +5 -4
- data/spec/crunchbase/model/batch_search_spec.rb +55 -56
- data/spec/crunchbase.yml.example +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +24 -44
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: eb4d88746975ba9d6e89048085a7730e76c76067
|
|
4
|
+
data.tar.gz: 4f4cde945a876057ad7402734a74267f7345e964
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: ad6615739035c823de4e627a5cd803f6b978b6f4b280bf995f09be1e54a694b838c25a20b449e2a98e2d0f536f6ec91b02464e4bd624cd153f56140712e4ec0a
|
|
7
|
+
data.tar.gz: 5e92b91af7916af18ac75bcd8bb1a3acd99eadf2aae6851b785defd0a54ece70dc7872632f5fd86a4e6bc049f94a96c72bc4c4a9c3e74fc88fd6d245d42415f1
|
data/README.md
CHANGED
|
@@ -47,6 +47,7 @@ cCeate the file `config/initializers/crunchbase.rb` in your rails project and ad
|
|
|
47
47
|
* client.search({query: "Google"}, 'organizations') # Full text search of an Organization's name, aliases
|
|
48
48
|
* client.search({name: "Google"}, 'organizations') # Full text search limited to name and aliases
|
|
49
49
|
* client.search({domain_name: "google.com"}, 'organizations') # Text search of an Organization's domain_name
|
|
50
|
+
* client.search({locations: "China,Shanghai"}, 'organizations') # Filter by location names (comma separated, AND'd together)
|
|
50
51
|
* client.search({name: "encore"}, 'people') # A full-text query of name only
|
|
51
52
|
* client.search({query: "encore"}, 'people') # A full-text query of name, title, and company
|
|
52
53
|
* client.search({types: "investor"}, 'people') # Filter by type (currently, either this is empty, or is simply "investor")
|
|
@@ -89,11 +90,11 @@ cCeate the file `config/initializers/crunchbase.rb` in your rails project and ad
|
|
|
89
90
|
#<Crunchbase::Model::PersonSummary: ...>
|
|
90
91
|
......
|
|
91
92
|
]
|
|
92
|
-
|
|
93
|
+
|
|
93
94
|
### Batch search
|
|
94
95
|
Pass in an array of requests to perform a batch search. Following parameters should be present in each request: `type`, `uuid` and `relationships` (https://data.crunchbase.com/docs/using-the-api#batch-search-capabilities).<br/>
|
|
95
96
|
Max 10 requests per search allowed.
|
|
96
|
-
|
|
97
|
+
|
|
97
98
|
=> requests = [
|
|
98
99
|
{ type: 'Organization', uuid: 'valid_uuid', relationships: ["<relationship_name>"] },
|
|
99
100
|
{ type: 'Person', uuid: 'valid_uuid', relationships: ["<relationship_name>"] },
|
|
@@ -106,8 +107,8 @@ Max 10 requests per search allowed.
|
|
|
106
107
|
#<Crunchbase::Model::Organization:0x007f9bd7e84f98, ...>,
|
|
107
108
|
#<Crunchbase::Model::Person:0x007f9bda0d9d78, ...>,
|
|
108
109
|
#<Crunchbase::Model::Error:0x007fd6b6818758 @code="LA404", @message="Not Found - Entity invalid_uuid doesn't exist" ...> // Error object returned due to invalid uuid passed
|
|
109
|
-
]
|
|
110
|
-
|
|
110
|
+
]
|
|
111
|
+
|
|
111
112
|
|
|
112
113
|
### How to debug in the console
|
|
113
114
|
|
data/bin/console
CHANGED
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
require 'bundler/setup'
|
|
5
5
|
require 'crunchbase'
|
|
6
|
+
require 'yaml'
|
|
6
7
|
|
|
7
|
-
#
|
|
8
|
-
|
|
8
|
+
# Setup the user key for API
|
|
9
|
+
yaml = YAML.load_file(File.join(File.dirname(__FILE__), '..', 'spec', 'crunchbase.yml'))
|
|
10
|
+
Crunchbase::API.key = yaml['key']
|
|
11
|
+
Crunchbase::API.debug = yaml['debug']
|
|
9
12
|
|
|
10
13
|
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
11
14
|
require "pry"
|
data/bin/setup
CHANGED
data/lib/crunchbase/api.rb
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
1
|
# frozen_string_literal: true
|
|
3
2
|
|
|
4
3
|
require 'net/http'
|
|
@@ -42,13 +41,13 @@ module Crunchbase
|
|
|
42
41
|
@debug = false
|
|
43
42
|
|
|
44
43
|
# Must be overridden in subclasses
|
|
45
|
-
RESOURCE_NAME = 'undefined'
|
|
46
|
-
RESOURCE_LIST = 'undefineds'
|
|
44
|
+
RESOURCE_NAME = 'undefined'.freeze
|
|
45
|
+
RESOURCE_LIST = 'undefineds'.freeze
|
|
47
46
|
|
|
48
|
-
ORDER_CREATED_AT_ASC = 'created_at ASC'
|
|
49
|
-
ORDER_CREATED_AT_DESC = 'created_at DESC'
|
|
50
|
-
ORDER_UPDATED_AT_ASC = 'updated_at ASC'
|
|
51
|
-
ORDER_UPDATED_AT_DESC = 'updated_at DESC'
|
|
47
|
+
ORDER_CREATED_AT_ASC = 'created_at ASC'.freeze
|
|
48
|
+
ORDER_CREATED_AT_DESC = 'created_at DESC'.freeze
|
|
49
|
+
ORDER_UPDATED_AT_ASC = 'updated_at ASC'.freeze
|
|
50
|
+
ORDER_UPDATED_AT_DESC = 'updated_at DESC'.freeze
|
|
52
51
|
|
|
53
52
|
class << self
|
|
54
53
|
attr_accessor :timeout_limit, :redirect_limit, :key, :debug
|
|
@@ -104,9 +103,7 @@ module Crunchbase
|
|
|
104
103
|
end
|
|
105
104
|
|
|
106
105
|
def collect_parameters(options)
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
options.map { |k, v| "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}" }.join('&')
|
|
106
|
+
options.map { |k, v| "#{k}=#{v}" }.join('&')
|
|
110
107
|
end
|
|
111
108
|
|
|
112
109
|
def organization_lists(permalink, category, options)
|
|
@@ -161,7 +158,7 @@ module Crunchbase
|
|
|
161
158
|
http = Net::HTTP.new(uri.host, uri.port)
|
|
162
159
|
http.use_ssl = true if uri.scheme == 'https'
|
|
163
160
|
response = http.start do |h|
|
|
164
|
-
h.request Net::HTTP::Get.new(uri.request_uri,
|
|
161
|
+
h.request Net::HTTP::Get.new(uri.request_uri, 'User-Agent' => 'crunchbase-ruby-library')
|
|
165
162
|
end
|
|
166
163
|
|
|
167
164
|
case response
|
data/lib/crunchbase/client.rb
CHANGED
data/lib/crunchbase/exception.rb
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
module Crunchbase
|
|
5
5
|
module Model
|
|
6
6
|
class AcquiredBy < Entity
|
|
7
|
-
RESOURCE_LIST = 'acquired_by'
|
|
7
|
+
RESOURCE_LIST = 'acquired_by'.freeze
|
|
8
8
|
|
|
9
9
|
attr_reader :uuid, :type_name, :api_path, :web_path, :price, :price_currency_code, :price_usd,
|
|
10
10
|
:payment_type, :acquisition_type, :acquisition_status, :disposition_of_acquired,
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
module Crunchbase::Model
|
|
5
5
|
class Acquisition < Entity
|
|
6
|
-
RESOURCE_LIST = 'acquisitions'
|
|
7
|
-
RESOURCE_NAME = 'acquisitions'
|
|
6
|
+
RESOURCE_LIST = 'acquisitions'.freeze
|
|
7
|
+
RESOURCE_NAME = 'acquisitions'.freeze
|
|
8
8
|
|
|
9
9
|
attr_reader :api_path, :web_path, :price, :price_currency_code, :price_usd,
|
|
10
10
|
:payment_type, :acquisition_type, :acquisition_status, :disposition_of_acquired,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
module Crunchbase::Model
|
|
5
5
|
class Address < Entity
|
|
6
|
-
RESOURCE_LIST = 'addresses'
|
|
6
|
+
RESOURCE_LIST = 'addresses'.freeze
|
|
7
7
|
|
|
8
8
|
attr_reader :name, :street_1, :street_2, :postal_code, :city, :city_web_path, :region, :region_code2, :region_web_path,
|
|
9
9
|
:country, :country_code2, :country_code3, :country_web_path, :latitude, :longitude, :created_at, :updated_at
|
|
@@ -2,46 +2,45 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
module Crunchbase
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
module Model
|
|
6
|
+
class BatchSearch < Entity
|
|
7
|
+
include Enumerable
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
attr_reader :results
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
alias items results
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
def initialize(json)
|
|
14
|
+
@results = []
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
populate_results(json)
|
|
17
|
+
end
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
def populate_results(json)
|
|
20
|
+
@results = []
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
@results = json['items'].map do |r|
|
|
23
|
+
next Error.new(r['error']) if r.key?('error')
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
kclass = kclass_name(r['type'])
|
|
26
|
+
kclass.new(r)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
def self.batch_search(requests)
|
|
31
|
+
raise ConfigurationException, 'Invalid argument. Please pass in an array as an argument' unless requests.is_a?(Array)
|
|
32
|
+
raise InvalidRequestException, "Too many requests(#{requests.length}) in batch, max allowed 10" if requests.length > 10
|
|
33
|
+
raise MissingParamsException, 'Missing :type or :uuid parameter in some requests' if requests.any? { |request| !request.key?(:type) || !request.key?(:uuid) }
|
|
34
|
+
return [] if requests.empty?
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
BatchSearch.new API.batch_search(requests)
|
|
37
|
+
end
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
private
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
end
|
|
41
|
+
def kclass_name(model_name)
|
|
42
|
+
self.class.kclass_name(model_name.downcase)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
module Crunchbase::Model
|
|
5
5
|
class FundingRound < Entity
|
|
6
|
-
RESOURCE_LIST = 'funding_rounds'
|
|
7
|
-
RESOURCE_NAME = 'funding-rounds'
|
|
6
|
+
RESOURCE_LIST = 'funding_rounds'.freeze
|
|
7
|
+
RESOURCE_NAME = 'funding-rounds'.freeze
|
|
8
8
|
|
|
9
9
|
attr_reader :permalink, :api_path, :web_path, :funding_type, :series, :series_qualifier,
|
|
10
10
|
:announced_on, :announced_on_trust_code, :closed_on, :closed_on_trust_code,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
module Crunchbase::Model
|
|
5
5
|
class Investment < Entity
|
|
6
|
-
RESOURCE_LIST = 'investments'
|
|
6
|
+
RESOURCE_LIST = 'investments'.freeze
|
|
7
7
|
|
|
8
8
|
attr_reader :money_invested, :money_invested_currency_code, :money_invested_usd, :is_lead_investor,
|
|
9
9
|
:announced_on, :announced_on_trust_code, :created_at, :updated_at
|
data/lib/crunchbase/model/ipo.rb
CHANGED
data/lib/crunchbase/model/job.rb
CHANGED
data/lib/crunchbase/model/new.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
module Crunchbase::Model
|
|
5
5
|
class Organization < Entity
|
|
6
|
-
RESOURCE_LIST = RESOURCE_NAME = 'organizations'
|
|
6
|
+
RESOURCE_LIST = RESOURCE_NAME = 'organizations'.freeze
|
|
7
7
|
|
|
8
8
|
attr_reader :permalink, :api_path, :web_path, :name, :also_known_as, :short_description, :description,
|
|
9
9
|
:profile_image_url, :primary_role, :role_company, :role_investor, :role_group, :role_school,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
module Crunchbase
|
|
5
5
|
module Model
|
|
6
6
|
class Person < Entity
|
|
7
|
-
RESOURCE_LIST = RESOURCE_NAME = 'people'
|
|
7
|
+
RESOURCE_LIST = RESOURCE_NAME = 'people'.freeze
|
|
8
8
|
|
|
9
9
|
attr_reader :permalink, :api_path, :web_path, :first_name, :last_name, :gender, :also_known_as, :bio, :profile_image_url,
|
|
10
10
|
:role_investor, :born_on, :born_on_trust_code, :is_deceased, :died_on, :died_on_trust_code, :name,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
module Crunchbase::Model
|
|
5
5
|
class Product < Entity
|
|
6
|
-
RESOURCE_LIST = RESOURCE_NAME = 'products'
|
|
6
|
+
RESOURCE_LIST = RESOURCE_NAME = 'products'.freeze
|
|
7
7
|
|
|
8
8
|
attr_reader :permalink, :api_path, :web_path, :name, :also_known_as,
|
|
9
9
|
:lifecycle_stage, :short_description, :description, :profile_image_url,
|
data/lib/crunchbase/model.rb
CHANGED
data/lib/crunchbase/request.rb
CHANGED
data/lib/crunchbase/version.rb
CHANGED
data/lib/crunchbase.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
+
|
|
2
3
|
require 'singleton'
|
|
3
4
|
require 'time'
|
|
4
5
|
|
|
@@ -11,10 +12,10 @@ require 'crunchbase/api'
|
|
|
11
12
|
require 'crunchbase/exception'
|
|
12
13
|
|
|
13
14
|
module Crunchbase
|
|
14
|
-
API_VERSION = '3.1'
|
|
15
|
-
API_BASE_URL = 'https://api.crunchbase.com'
|
|
16
|
-
WEB_SITE_URL = 'https://www.crunchbase.com'
|
|
17
|
-
IMAGE_URL = 'https://res.cloudinary.com/crunchbase-production/'
|
|
15
|
+
API_VERSION = '3.1'.freeze
|
|
16
|
+
API_BASE_URL = 'https://api.crunchbase.com'.freeze
|
|
17
|
+
WEB_SITE_URL = 'https://www.crunchbase.com'.freeze
|
|
18
|
+
IMAGE_URL = 'https://res.cloudinary.com/crunchbase-production/'.freeze
|
|
18
19
|
|
|
19
20
|
class << self
|
|
20
21
|
end
|
|
@@ -1,69 +1,68 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module Crunchbase::Model
|
|
4
|
-
|
|
4
|
+
RSpec.describe BatchSearch do
|
|
5
|
+
context 'perform invalid batch_search' do
|
|
6
|
+
it 'should raise ConfigurationException for non-array argument' do
|
|
7
|
+
expect { BatchSearch.batch_search({}) }.to raise_error Crunchbase::ConfigurationException
|
|
8
|
+
end
|
|
5
9
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
end
|
|
10
|
+
it 'should raise InvalidRequestException for too many requests' do
|
|
11
|
+
expect { BatchSearch.batch_search(Array.new(11)) }.to raise_error Crunchbase::InvalidRequestException
|
|
12
|
+
end
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
it 'should raise MissingParamsException for invalid array item (without type and uuid fields)' do
|
|
15
|
+
invalid_array_arguments = [
|
|
16
|
+
[{}],
|
|
17
|
+
[{ type: 'Organization' }],
|
|
18
|
+
[{ type: 'Organization', uuid: 'unique_id' }, {}],
|
|
19
|
+
[{ type: 'Organization', uuid: 'unique_id' }, { uuid: 'unique_id' }]
|
|
20
|
+
]
|
|
14
21
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
[{ type: 'Organization', uuid: 'unique_id' }, {}],
|
|
20
|
-
[{ type: 'Organization', uuid: 'unique_id' }, { uuid: 'unique_id' }]
|
|
21
|
-
]
|
|
22
|
+
invalid_array_arguments.each do |invalid_argument|
|
|
23
|
+
expect { BatchSearch.batch_search(invalid_argument) }.to raise_error Crunchbase::MissingParamsException
|
|
24
|
+
end
|
|
25
|
+
end
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
it 'should return an empty array for empty array argument' do
|
|
28
|
+
results = BatchSearch.batch_search([])
|
|
29
|
+
expect(results).to be_empty
|
|
30
|
+
end
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
end
|
|
32
|
+
it 'should return an instance of Error for invalid uuid' do
|
|
33
|
+
invalid_request = [{ type: 'Organization', uuid: 'invalid_id' }]
|
|
34
|
+
results = BatchSearch.batch_search(invalid_request)
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
expect(results.results.first).to be_an_instance_of(Crunchbase::Model::Error)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
36
39
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
context 'perform valid batch_search' do
|
|
41
|
+
let(:requests) do
|
|
42
|
+
[
|
|
43
|
+
{ type: 'Organization', uuid: 'df6628127f970b439d3e12f64f504fbb' },
|
|
44
|
+
{ type: 'Organization', uuid: '0ea85f0296e15c42feebb786ecab2939' },
|
|
45
|
+
{ type: 'Person', uuid: 'a01b8d46d31133337c34aa3ae9c03f22' }
|
|
46
|
+
]
|
|
47
|
+
end
|
|
48
|
+
let(:batch_search) { BatchSearch.batch_search(requests) }
|
|
40
49
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
{ type: 'Organization', uuid: 'df6628127f970b439d3e12f64f504fbb' },
|
|
45
|
-
{ type: 'Organization', uuid: '0ea85f0296e15c42feebb786ecab2939' },
|
|
46
|
-
{ type: 'Person', uuid: 'a01b8d46d31133337c34aa3ae9c03f22' }
|
|
47
|
-
]
|
|
48
|
-
}
|
|
49
|
-
let(:batch_search) { BatchSearch.batch_search(requests) }
|
|
50
|
+
it 'should return new instance of BatchSearch' do
|
|
51
|
+
expect(batch_search).to be_an_instance_of(BatchSearch)
|
|
52
|
+
end
|
|
50
53
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
it 'should return an array of results' do
|
|
55
|
+
results = batch_search.results
|
|
56
|
+
expect(results).to be_an_instance_of(Array)
|
|
57
|
+
expect(results).not_to be_empty
|
|
58
|
+
end
|
|
54
59
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
expect(results[1]).to be_a(Crunchbase::Model::Organization)
|
|
65
|
-
expect(results[2]).to be_a(Crunchbase::Model::Person)
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
end
|
|
60
|
+
it 'should return an array of valid model objects' do
|
|
61
|
+
results = batch_search.results
|
|
62
|
+
expect(results[0]).to be_a(Crunchbase::Model::Organization)
|
|
63
|
+
expect(results[1]).to be_a(Crunchbase::Model::Organization)
|
|
64
|
+
expect(results[2]).to be_a(Crunchbase::Model::Person)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
data/spec/crunchbase.yml.example
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
2
2
|
debug: true
|
data/spec/spec_helper.rb
CHANGED
|
@@ -12,7 +12,7 @@ require 'yaml'
|
|
|
12
12
|
|
|
13
13
|
yaml = YAML.load_file(File.join(File.dirname(__FILE__), 'crunchbase.yml'))
|
|
14
14
|
|
|
15
|
-
Crunchbase::API.key
|
|
15
|
+
Crunchbase::API.key = yaml['key']
|
|
16
16
|
Crunchbase::API.debug = yaml['debug']
|
|
17
17
|
|
|
18
18
|
Dir[File.dirname(__FILE__) + '/crunchbase/support/*.rb'].each { |file| require file }
|
metadata
CHANGED
|
@@ -1,110 +1,97 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: crunchbase-ruby-library
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.3.4
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Encore Shao
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2019-01-
|
|
11
|
+
date: 2019-01-13 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: bundler
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- - ~>
|
|
17
|
+
- - "~>"
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
19
|
version: '1.6'
|
|
22
20
|
type: :development
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- - ~>
|
|
24
|
+
- - "~>"
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
26
|
version: '1.6'
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: rake
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
|
-
- -
|
|
31
|
+
- - ">="
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
37
33
|
version: '0'
|
|
38
34
|
type: :development
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
|
-
- -
|
|
38
|
+
- - ">="
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
45
40
|
version: '0'
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: pry
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
|
-
- -
|
|
45
|
+
- - ">="
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
47
|
version: '0'
|
|
54
48
|
type: :development
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
51
|
requirements:
|
|
59
|
-
- -
|
|
52
|
+
- - ">="
|
|
60
53
|
- !ruby/object:Gem::Version
|
|
61
54
|
version: '0'
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
|
63
56
|
name: rspec
|
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
58
|
requirements:
|
|
67
|
-
- - ~>
|
|
59
|
+
- - "~>"
|
|
68
60
|
- !ruby/object:Gem::Version
|
|
69
61
|
version: '3.0'
|
|
70
62
|
type: :development
|
|
71
63
|
prerelease: false
|
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
65
|
requirements:
|
|
75
|
-
- - ~>
|
|
66
|
+
- - "~>"
|
|
76
67
|
- !ruby/object:Gem::Version
|
|
77
68
|
version: '3.0'
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
|
79
70
|
name: rspec-its
|
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
72
|
requirements:
|
|
83
|
-
- -
|
|
73
|
+
- - ">="
|
|
84
74
|
- !ruby/object:Gem::Version
|
|
85
75
|
version: '0'
|
|
86
76
|
type: :development
|
|
87
77
|
prerelease: false
|
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
79
|
requirements:
|
|
91
|
-
- -
|
|
80
|
+
- - ">="
|
|
92
81
|
- !ruby/object:Gem::Version
|
|
93
82
|
version: '0'
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
|
95
84
|
name: rubocop
|
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
86
|
requirements:
|
|
99
|
-
- -
|
|
87
|
+
- - ">="
|
|
100
88
|
- !ruby/object:Gem::Version
|
|
101
89
|
version: '0'
|
|
102
90
|
type: :development
|
|
103
91
|
prerelease: false
|
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
93
|
requirements:
|
|
107
|
-
- -
|
|
94
|
+
- - ">="
|
|
108
95
|
- !ruby/object:Gem::Version
|
|
109
96
|
version: '0'
|
|
110
97
|
description: A Ruby wrapper for Crunchbase API version 3.1
|
|
@@ -116,11 +103,11 @@ executables:
|
|
|
116
103
|
extensions: []
|
|
117
104
|
extra_rdoc_files: []
|
|
118
105
|
files:
|
|
119
|
-
- .gitignore
|
|
120
|
-
- .rspec
|
|
121
|
-
- .rubocop.yml
|
|
122
|
-
- .rubocop_todo.yml
|
|
123
|
-
- .travis.yml
|
|
106
|
+
- ".gitignore"
|
|
107
|
+
- ".rspec"
|
|
108
|
+
- ".rubocop.yml"
|
|
109
|
+
- ".rubocop_todo.yml"
|
|
110
|
+
- ".travis.yml"
|
|
124
111
|
- Gemfile
|
|
125
112
|
- LICENSE.txt
|
|
126
113
|
- README.md
|
|
@@ -233,33 +220,26 @@ files:
|
|
|
233
220
|
homepage: https://github.com/encoreshao/crunchbase-ruby-library
|
|
234
221
|
licenses:
|
|
235
222
|
- MIT
|
|
223
|
+
metadata: {}
|
|
236
224
|
post_install_message:
|
|
237
225
|
rdoc_options: []
|
|
238
226
|
require_paths:
|
|
239
227
|
- lib
|
|
240
228
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
241
|
-
none: false
|
|
242
229
|
requirements:
|
|
243
|
-
- -
|
|
230
|
+
- - ">="
|
|
244
231
|
- !ruby/object:Gem::Version
|
|
245
232
|
version: '0'
|
|
246
|
-
segments:
|
|
247
|
-
- 0
|
|
248
|
-
hash: -394987517701761930
|
|
249
233
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
250
|
-
none: false
|
|
251
234
|
requirements:
|
|
252
|
-
- -
|
|
235
|
+
- - ">="
|
|
253
236
|
- !ruby/object:Gem::Version
|
|
254
237
|
version: '0'
|
|
255
|
-
segments:
|
|
256
|
-
- 0
|
|
257
|
-
hash: -394987517701761930
|
|
258
238
|
requirements: []
|
|
259
239
|
rubyforge_project:
|
|
260
|
-
rubygems_version:
|
|
240
|
+
rubygems_version: 2.5.1
|
|
261
241
|
signing_key:
|
|
262
|
-
specification_version:
|
|
242
|
+
specification_version: 4
|
|
263
243
|
summary: A Ruby wrapper for Crunchbase API v3.1
|
|
264
244
|
test_files:
|
|
265
245
|
- spec/crunchbase.yml.example
|