crunchbase-ruby-library 0.0.8 → 0.0.9
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.
- data/lib/crunchbase/model.rb +3 -0
- data/lib/crunchbase/model/acquired_by.rb +7 -7
- data/lib/crunchbase/model/acquiree.rb +6 -0
- data/lib/crunchbase/model/acquirer.rb +6 -0
- data/lib/crunchbase/model/acquisition.rb +22 -11
- data/lib/crunchbase/model/entity.rb +24 -24
- data/lib/crunchbase/model/founded_company.rb +7 -7
- data/lib/crunchbase/model/organization.rb +25 -25
- data/lib/crunchbase/model/simple_organization.rb +25 -0
- data/lib/crunchbase/version.rb +2 -2
- metadata +7 -4
data/lib/crunchbase/model.rb
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
module Crunchbase
|
4
4
|
module Model
|
5
5
|
autoload :AcquiredBy, "crunchbase/model/acquired_by"
|
6
|
+
autoload :Acquiree, "crunchbase/model/acquiree"
|
7
|
+
autoload :Acquirer, "crunchbase/model/acquirer"
|
6
8
|
autoload :Acquisition, "crunchbase/model/acquisition"
|
7
9
|
autoload :Address, "crunchbase/model/address"
|
8
10
|
autoload :AdvisoryRole, "crunchbase/model/advisory_role"
|
@@ -43,6 +45,7 @@ module Crunchbase
|
|
43
45
|
autoload :School, "crunchbase/model/school"
|
44
46
|
autoload :Search, "crunchbase/model/search"
|
45
47
|
autoload :SearchResult, "crunchbase/model/search_result"
|
48
|
+
autoload :SimpleOrganization, "crunchbase/model/simple_organization"
|
46
49
|
autoload :SubOrganization, "crunchbase/model/sub_organization"
|
47
50
|
autoload :Video, "crunchbase/model/video"
|
48
51
|
autoload :Website, "crunchbase/model/website"
|
@@ -8,13 +8,13 @@ module Crunchbase::Model
|
|
8
8
|
attr_reader :announced_on, :name, :path, :created_at, :updated_at
|
9
9
|
|
10
10
|
def initialize(json)
|
11
|
-
property_keys.each { |v|
|
12
|
-
instance_variable_set("@#{v}", json[v] || nil)
|
13
|
-
}
|
11
|
+
property_keys.each { |v|
|
12
|
+
instance_variable_set("@#{v}", json[v] || nil)
|
13
|
+
}
|
14
14
|
|
15
|
-
%w[created_at updated_at].each { |v|
|
16
|
-
instance_variable_set("@#{v}", Time.at(json[v]))
|
17
|
-
}
|
15
|
+
%w[created_at updated_at].each { |v|
|
16
|
+
instance_variable_set("@#{v}", Time.at(json[v]))
|
17
|
+
}
|
18
18
|
end
|
19
19
|
|
20
20
|
def property_keys
|
@@ -26,4 +26,4 @@ module Crunchbase::Model
|
|
26
26
|
end
|
27
27
|
|
28
28
|
end
|
29
|
-
end
|
29
|
+
end
|
@@ -2,35 +2,46 @@
|
|
2
2
|
|
3
3
|
module Crunchbase::Model
|
4
4
|
class Acquisition < Crunchbase::Model::Entity
|
5
|
-
|
5
|
+
|
6
6
|
RESOURCE_LIST = 'acquisitions'
|
7
|
+
RESOURCE_NAME = 'acquisitions'
|
7
8
|
|
8
|
-
attr_reader :api_path, :web_path, :price, :price_currency_code, :price_usd,
|
9
|
-
:payment_type, :acquisition_type, :acquisition_status, :disposition_of_acquired,
|
10
|
-
:announced_on, :announced_on_trust_code, :completed_on, :completed_on_trust_code,
|
9
|
+
attr_reader :api_path, :web_path, :price, :price_currency_code, :price_usd,
|
10
|
+
:payment_type, :acquisition_type, :acquisition_status, :disposition_of_acquired,
|
11
|
+
:announced_on, :announced_on_trust_code, :completed_on, :completed_on_trust_code,
|
11
12
|
:created_at, :updated_at
|
12
13
|
|
13
14
|
|
14
|
-
attr_reader :acquirer, :acquiree
|
15
|
+
attr_reader :acquirer, :acquiree, :news
|
15
16
|
|
16
|
-
attr_reader :acquirer_total_items, :acquiree_total_items
|
17
|
+
attr_reader :acquirer_total_items, :acquiree_total_items, :news_items
|
17
18
|
|
18
19
|
def initialize(json)
|
19
20
|
super
|
20
21
|
|
21
22
|
unless (relationships = json['relationships']).nil?
|
22
|
-
|
23
|
+
if relationships['acquiree']['item'].nil?
|
24
|
+
instance_relationships_object(Crunchbase::Model::Organization, 'acquiree', relationships['acquiree'])
|
25
|
+
else
|
26
|
+
set_relationships_object(Crunchbase::Model::Acquiree, 'acquiree', relationships['acquiree'])
|
27
|
+
set_relationships_object(Crunchbase::Model::Acquirer, 'acquirer', relationships['acquirer'])
|
28
|
+
set_relationships_object(Crunchbase::Model::New, 'news', relationships['news'])
|
29
|
+
end
|
23
30
|
end
|
24
31
|
end
|
25
32
|
|
26
33
|
def property_keys
|
27
34
|
%w[
|
28
|
-
api_path web_path price price_currency_code price_usd
|
29
|
-
payment_type acquisition_type acquisition_status disposition_of_acquired
|
30
|
-
announced_on announced_on_trust_code completed_on completed_on_trust_code
|
35
|
+
api_path web_path price price_currency_code price_usd
|
36
|
+
payment_type acquisition_type acquisition_status disposition_of_acquired
|
37
|
+
announced_on announced_on_trust_code completed_on completed_on_trust_code
|
31
38
|
created_at updated_at
|
32
39
|
]
|
33
40
|
end
|
34
41
|
|
42
|
+
def date_keys
|
43
|
+
%w[ announced_on completed_on ]
|
44
|
+
end
|
45
|
+
|
35
46
|
end
|
36
|
-
end
|
47
|
+
end
|
@@ -6,27 +6,27 @@ module Crunchbase::Model
|
|
6
6
|
attr_reader :type_name, :uuid
|
7
7
|
|
8
8
|
def initialize(json)
|
9
|
-
instance_variable_set("@type_name", json['type'] || nil)
|
10
|
-
instance_variable_set("@uuid", json['uuid'] || nil)
|
9
|
+
instance_variable_set("@type_name", json['type'] || nil)
|
10
|
+
instance_variable_set("@uuid", json['uuid'] || nil)
|
11
11
|
|
12
|
-
property_keys.each { |v|
|
13
|
-
instance_variable_set("@#{v}", json['properties'][v] || nil)
|
14
|
-
}
|
12
|
+
property_keys.each { |v|
|
13
|
+
instance_variable_set("@#{v}", json['properties'][v] || nil)
|
14
|
+
}
|
15
15
|
|
16
|
-
date_keys.each { |v|
|
17
|
-
instance_variable_set("@#{v}", json['properties'][v].nil? ? nil : Date.parse(json['properties'][v]))
|
18
|
-
}
|
16
|
+
date_keys.each { |v|
|
17
|
+
instance_variable_set("@#{v}", json['properties'][v].nil? ? nil : Date.parse(json['properties'][v]))
|
18
|
+
}
|
19
19
|
|
20
|
-
%w[created_at updated_at].each { |v|
|
20
|
+
%w[created_at updated_at].each { |v|
|
21
21
|
if json['properties'][v].kind_of?(String)
|
22
|
-
instance_variable_set( "@#{v}", begin Time.parse(json['properties'][v]) rescue nil end )
|
23
|
-
else
|
24
|
-
instance_variable_set( "@#{v}", begin Time.at(json['properties'][v]) rescue nil end )
|
22
|
+
instance_variable_set( "@#{v}", begin Time.parse(json['properties'][v]) rescue nil end )
|
23
|
+
else
|
24
|
+
instance_variable_set( "@#{v}", begin Time.at(json['properties'][v]) rescue nil end )
|
25
25
|
end
|
26
|
-
}
|
26
|
+
}
|
27
27
|
end
|
28
|
-
|
29
|
-
# Factory method to return an instance from a permalink
|
28
|
+
|
29
|
+
# Factory method to return an instance from a permalink
|
30
30
|
def self.get(permalink)
|
31
31
|
result = Crunchbase::API.single_entity(permalink, self::RESOURCE_NAME)
|
32
32
|
|
@@ -35,7 +35,7 @@ module Crunchbase::Model
|
|
35
35
|
|
36
36
|
def self.list(page=nil)
|
37
37
|
model_name = get_model_name(self::RESOURCE_LIST)
|
38
|
-
|
38
|
+
|
39
39
|
return Crunchbase::API.list( { page: page, model_name: model_name }, self::RESOURCE_LIST )
|
40
40
|
end
|
41
41
|
|
@@ -74,7 +74,7 @@ module Crunchbase::Model
|
|
74
74
|
|
75
75
|
def self.parsing_from_list(list)
|
76
76
|
return [] if list.nil?
|
77
|
-
|
77
|
+
|
78
78
|
list.map do |l|
|
79
79
|
self.new l if l.kind_of?(Hash)
|
80
80
|
end.compact
|
@@ -82,7 +82,7 @@ module Crunchbase::Model
|
|
82
82
|
|
83
83
|
def self.total_items_from_list(list)
|
84
84
|
return 0 if list.nil?
|
85
|
-
|
85
|
+
|
86
86
|
list['paging']['total_items']
|
87
87
|
end
|
88
88
|
|
@@ -95,7 +95,7 @@ module Crunchbase::Model
|
|
95
95
|
def date_keys
|
96
96
|
[]
|
97
97
|
end
|
98
|
-
|
98
|
+
|
99
99
|
def set_relationships_object(object_name, key, list)
|
100
100
|
return unless list
|
101
101
|
|
@@ -114,20 +114,20 @@ module Crunchbase::Model
|
|
114
114
|
return unless list['items'].respond_to?(:each)
|
115
115
|
|
116
116
|
instance_variable_set "@#{key}", list['items'].inject([]) { |v, i| v << object_name.new(i) }
|
117
|
-
instance_variable_set "@#{key}_total_items", list['paging']['total_items']
|
117
|
+
instance_variable_set "@#{key}_total_items", list['paging']['total_items']
|
118
118
|
end
|
119
|
-
|
119
|
+
|
120
120
|
def instance_relationships_object(object_name, key, item)
|
121
121
|
return unless item
|
122
122
|
|
123
123
|
instance_variable_set "@#{key}", ( object_name.new(item) || nil )
|
124
124
|
end
|
125
|
-
|
125
|
+
|
126
126
|
def self.get_model_name(resource_list)
|
127
127
|
return nil unless ['organizations', 'people'].include?(resource_list)
|
128
128
|
|
129
|
-
case resource_list
|
130
|
-
when 'organizations'
|
129
|
+
case resource_list
|
130
|
+
when 'organizations'
|
131
131
|
OrganizationSummary
|
132
132
|
when 'people'
|
133
133
|
PersonSummary
|
@@ -8,13 +8,13 @@ module Crunchbase::Model
|
|
8
8
|
attr_reader :type, :name, :path, :created_at, :updated_at
|
9
9
|
|
10
10
|
def initialize(json)
|
11
|
-
property_keys.each { |v|
|
12
|
-
instance_variable_set("@#{v}", json[v] || nil)
|
13
|
-
}
|
11
|
+
property_keys.each { |v|
|
12
|
+
instance_variable_set("@#{v}", json[v] || nil)
|
13
|
+
}
|
14
14
|
|
15
|
-
%w[created_at updated_at].each { |v|
|
16
|
-
instance_variable_set("@#{v}", Time.at(json[v]))
|
17
|
-
}
|
15
|
+
%w[created_at updated_at].each { |v|
|
16
|
+
instance_variable_set("@#{v}", Time.at(json[v]))
|
17
|
+
}
|
18
18
|
end
|
19
19
|
|
20
20
|
def property_keys
|
@@ -24,4 +24,4 @@ module Crunchbase::Model
|
|
24
24
|
end
|
25
25
|
|
26
26
|
end
|
27
|
-
end
|
27
|
+
end
|
@@ -2,30 +2,30 @@
|
|
2
2
|
|
3
3
|
module Crunchbase::Model
|
4
4
|
class Organization < Crunchbase::Model::Entity
|
5
|
-
|
5
|
+
|
6
6
|
RESOURCE_LIST = RESOURCE_NAME = 'organizations'
|
7
7
|
|
8
|
-
attr_reader :permalink, :api_path, :web_path, :name, :also_known_as, :short_description, :description,
|
9
|
-
:primary_role, :role_company, :role_investor, :role_group, :role_school,
|
10
|
-
:founded_on, :founded_on_trust_code, :is_closed, :closed_on, :closed_on_trust_code,
|
11
|
-
:num_employees_min, :num_employees_max,
|
12
|
-
:total_funding_usd,
|
13
|
-
:stock_exchange, :stock_symbol,
|
14
|
-
:number_of_investments, :homepage_url,
|
8
|
+
attr_reader :permalink, :api_path, :web_path, :name, :also_known_as, :short_description, :description,
|
9
|
+
:primary_role, :role_company, :role_investor, :role_group, :role_school,
|
10
|
+
:founded_on, :founded_on_trust_code, :is_closed, :closed_on, :closed_on_trust_code,
|
11
|
+
:num_employees_min, :num_employees_max,
|
12
|
+
:total_funding_usd,
|
13
|
+
:stock_exchange, :stock_symbol,
|
14
|
+
:number_of_investments, :homepage_url,
|
15
15
|
:created_at, :updated_at
|
16
16
|
|
17
|
-
attr_reader :primary_image, :founders, :current_team, :past_team, :board_members_and_advisors,
|
18
|
-
:investors, :owned_by, :sub_organizations, :headquarters, :offices, :products,
|
19
|
-
:categories, :customers, :competitors, :members, :memberships, :funding_rounds, :investments,
|
17
|
+
attr_reader :primary_image, :founders, :current_team, :past_team, :board_members_and_advisors,
|
18
|
+
:investors, :owned_by, :sub_organizations, :headquarters, :offices, :products,
|
19
|
+
:categories, :customers, :competitors, :members, :memberships, :funding_rounds, :investments,
|
20
20
|
:acquisitions, :acquired_by, :ipo, :funds, :websites, :images, :videos, :news
|
21
21
|
|
22
|
-
attr_reader :primary_image_total_items, :founders_total_items, :current_team_total_items,
|
23
|
-
:past_team_total_items, :board_members_and_advisors_total_items, :investors_total_items,
|
24
|
-
:owned_by_total_items, :sub_organizations_total_items, :headquarters_total_items,
|
25
|
-
:offices_total_items, :products_total_items, :categories_total_items,
|
26
|
-
:customers_total_items, :competitors_total_items, :members_total_items,
|
27
|
-
:memberships_total_items, :funding_rounds_total_items, :investments_total_items,
|
28
|
-
:acquisitions_total_items, :acquired_by_total_items,
|
22
|
+
attr_reader :primary_image_total_items, :founders_total_items, :current_team_total_items,
|
23
|
+
:past_team_total_items, :board_members_and_advisors_total_items, :investors_total_items,
|
24
|
+
:owned_by_total_items, :sub_organizations_total_items, :headquarters_total_items,
|
25
|
+
:offices_total_items, :products_total_items, :categories_total_items,
|
26
|
+
:customers_total_items, :competitors_total_items, :members_total_items,
|
27
|
+
:memberships_total_items, :funding_rounds_total_items, :investments_total_items,
|
28
|
+
:acquisitions_total_items, :acquired_by_total_items,
|
29
29
|
:ipo_total_items, :funds_total_items, :websites_total_items, :images_total_items,
|
30
30
|
:videos_total_items, :news_total_items
|
31
31
|
|
@@ -64,12 +64,12 @@ module Crunchbase::Model
|
|
64
64
|
|
65
65
|
def property_keys
|
66
66
|
%w[
|
67
|
-
permalink api_path web_path name also_known_as short_description description
|
68
|
-
primary_role role_company role_investor role_group role_school
|
69
|
-
founded_on founded_on_trust_code is_closed closed_on closed_on_trust_code
|
70
|
-
num_employees_min num_employees_max total_funding_usd
|
71
|
-
stock_exchange stock_symbol
|
72
|
-
number_of_investments homepage_url
|
67
|
+
permalink api_path web_path name also_known_as short_description description
|
68
|
+
primary_role role_company role_investor role_group role_school
|
69
|
+
founded_on founded_on_trust_code is_closed closed_on closed_on_trust_code
|
70
|
+
num_employees_min num_employees_max total_funding_usd
|
71
|
+
stock_exchange stock_symbol
|
72
|
+
number_of_investments homepage_url
|
73
73
|
created_at updated_at
|
74
74
|
]
|
75
75
|
end
|
@@ -79,4 +79,4 @@ module Crunchbase::Model
|
|
79
79
|
end
|
80
80
|
|
81
81
|
end
|
82
|
-
end
|
82
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Crunchbase::Model
|
4
|
+
class SimpleOrganization < Crunchbase::Model::Entity
|
5
|
+
|
6
|
+
attr_reader :type, :name, :path, :created_at, :updated_at
|
7
|
+
|
8
|
+
def initialize(json)
|
9
|
+
property_keys.each { |v|
|
10
|
+
instance_variable_set("@#{v}", json[v] || nil)
|
11
|
+
}
|
12
|
+
|
13
|
+
%w[created_at updated_at].each { |v|
|
14
|
+
instance_variable_set("@#{v}", Time.at(json[v]))
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
def property_keys
|
19
|
+
%w[
|
20
|
+
type name path created_at updated_at
|
21
|
+
]
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
data/lib/crunchbase/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Crunchbase
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
2
|
+
VERSION = "0.0.9"
|
3
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crunchbase-ruby-library
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-07-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -94,6 +94,8 @@ files:
|
|
94
94
|
- lib/crunchbase/exception.rb
|
95
95
|
- lib/crunchbase/model.rb
|
96
96
|
- lib/crunchbase/model/acquired_by.rb
|
97
|
+
- lib/crunchbase/model/acquiree.rb
|
98
|
+
- lib/crunchbase/model/acquirer.rb
|
97
99
|
- lib/crunchbase/model/acquisition.rb
|
98
100
|
- lib/crunchbase/model/address.rb
|
99
101
|
- lib/crunchbase/model/advisory_role.rb
|
@@ -135,6 +137,7 @@ files:
|
|
135
137
|
- lib/crunchbase/model/school.rb
|
136
138
|
- lib/crunchbase/model/search.rb
|
137
139
|
- lib/crunchbase/model/search_result.rb
|
140
|
+
- lib/crunchbase/model/simple_organization.rb
|
138
141
|
- lib/crunchbase/model/sub_organization.rb
|
139
142
|
- lib/crunchbase/model/video.rb
|
140
143
|
- lib/crunchbase/model/website.rb
|
@@ -167,7 +170,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
167
170
|
version: '0'
|
168
171
|
segments:
|
169
172
|
- 0
|
170
|
-
hash:
|
173
|
+
hash: -1931453387482519061
|
171
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
175
|
none: false
|
173
176
|
requirements:
|
@@ -176,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
179
|
version: '0'
|
177
180
|
segments:
|
178
181
|
- 0
|
179
|
-
hash:
|
182
|
+
hash: -1931453387482519061
|
180
183
|
requirements: []
|
181
184
|
rubyforge_project:
|
182
185
|
rubygems_version: 1.8.23.2
|