crunchbase-ruby-library 0.1.7 → 0.3.1
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 +4 -4
- data/.rubocop.yml +66 -0
- data/.rubocop_todo.yml +47 -0
- data/.travis.yml +12 -0
- data/Gemfile +4 -0
- data/README.md +44 -54
- data/Rakefile +4 -1
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/crunchbase-ruby-library.gemspec +15 -12
- data/lib/crunchbase.rb +12 -3
- data/lib/crunchbase/api.rb +110 -102
- data/lib/crunchbase/client.rb +50 -0
- data/lib/crunchbase/exception.rb +13 -11
- data/lib/crunchbase/model.rb +50 -48
- data/lib/crunchbase/model/acquired_by.rb +23 -20
- data/lib/crunchbase/model/acquiree.rb +2 -1
- data/lib/crunchbase/model/acquirer.rb +2 -1
- data/lib/crunchbase/model/acquisition.rb +16 -19
- data/lib/crunchbase/model/address.rb +4 -6
- data/lib/crunchbase/model/advisory_role.rb +2 -2
- data/lib/crunchbase/model/board_members_and_advisor.rb +10 -9
- data/lib/crunchbase/model/category.rb +6 -7
- data/lib/crunchbase/model/competitor.rb +3 -2
- data/lib/crunchbase/model/current_team.rb +7 -11
- data/lib/crunchbase/model/customer.rb +3 -2
- data/lib/crunchbase/model/degree.rb +4 -5
- data/lib/crunchbase/model/entity.rb +98 -108
- data/lib/crunchbase/model/error.rb +3 -4
- data/lib/crunchbase/model/featured_team.rb +19 -0
- data/lib/crunchbase/model/founded_company.rb +2 -3
- data/lib/crunchbase/model/founder.rb +3 -4
- data/lib/crunchbase/model/fund.rb +8 -11
- data/lib/crunchbase/model/fund_raise.rb +7 -8
- data/lib/crunchbase/model/funding_round.rb +29 -24
- data/lib/crunchbase/model/headquarter.rb +2 -1
- data/lib/crunchbase/model/image.rb +6 -7
- data/lib/crunchbase/model/investment.rb +20 -27
- data/lib/crunchbase/model/investor.rb +6 -7
- data/lib/crunchbase/model/ipo.rb +12 -12
- data/lib/crunchbase/model/job.rb +11 -10
- data/lib/crunchbase/model/location.rb +20 -11
- data/lib/crunchbase/model/member.rb +3 -4
- data/lib/crunchbase/model/membership.rb +7 -8
- data/lib/crunchbase/model/new.rb +5 -6
- data/lib/crunchbase/model/office.rb +3 -4
- data/lib/crunchbase/model/organization.rb +39 -38
- data/lib/crunchbase/model/organization_summary.rb +7 -8
- data/lib/crunchbase/model/owned_by.rb +4 -5
- data/lib/crunchbase/model/parent_location.rb +3 -3
- data/lib/crunchbase/model/past_team.rb +7 -11
- data/lib/crunchbase/model/person.rb +53 -46
- data/lib/crunchbase/model/person_summary.rb +13 -14
- data/lib/crunchbase/model/primary_affiliation.rb +6 -6
- data/lib/crunchbase/model/primary_image.rb +3 -3
- data/lib/crunchbase/model/primary_location.rb +8 -7
- data/lib/crunchbase/model/product.rb +14 -13
- data/lib/crunchbase/model/product_summary.rb +4 -5
- data/lib/crunchbase/model/school.rb +3 -2
- data/lib/crunchbase/model/search.rb +39 -40
- data/lib/crunchbase/model/search_result.rb +7 -6
- data/lib/crunchbase/model/simple_organization.rb +9 -10
- data/lib/crunchbase/model/sub_organization.rb +3 -4
- data/lib/crunchbase/model/video.rb +4 -5
- data/lib/crunchbase/model/website.rb +7 -11
- data/lib/crunchbase/request.rb +8 -0
- data/lib/crunchbase/request/client.rb +69 -0
- data/lib/crunchbase/version.rb +2 -1
- data/spec/crunchbase.yml.example +2 -2
- data/spec/crunchbase/client_spec.rb +25 -0
- data/spec/crunchbase/data/board_members_and_advisors/facebook.json +462 -0
- data/spec/crunchbase/data/categories/facebook.json +67 -0
- data/spec/crunchbase/data/current_team/facebook.json +4335 -0
- data/spec/crunchbase/data/featured_team/facebook.json +286 -0
- data/spec/crunchbase/data/funding_rounds/37bd05f961af726ba3c1b279da842805.json +484 -0
- data/spec/crunchbase/data/funding_rounds/facebook.json +2049 -0
- data/spec/crunchbase/data/headquarters/facebook.json +50 -0
- data/spec/crunchbase/data/investors/facebook.json +776 -0
- data/spec/crunchbase/data/news/facebook.json +1426 -0
- data/spec/crunchbase/data/news/facebook_2.json +1426 -0
- data/spec/crunchbase/data/offices/facebook.json +50 -0
- data/spec/crunchbase/data/organizations/crunchbase.json +2845 -0
- data/spec/crunchbase/data/organizations/ekohe.json +654 -0
- data/spec/crunchbase/data/organizations/facebook-without-relationships.json +45 -0
- data/spec/crunchbase/data/organizations/facebook.json +6723 -0
- data/spec/crunchbase/data/organizations/mx-media-llc.json +7 -0
- data/spec/crunchbase/data/past_team/facebook.json +4336 -0
- data/spec/crunchbase/data/people/facebook_founders.json +148 -0
- data/spec/crunchbase/data/people/mark-zuckerberg.json +2602 -0
- data/spec/crunchbase/data/websites/facebook.json +74 -0
- data/spec/crunchbase/model/board_members_and_advisor_spec.rb +39 -11
- data/spec/crunchbase/model/category_spec.rb +47 -0
- data/spec/crunchbase/model/current_team_spec.rb +50 -0
- data/spec/crunchbase/model/featured_team_spec.rb +40 -0
- data/spec/crunchbase/model/founders_spec.rb +49 -0
- data/spec/crunchbase/model/fund_raise_spec.rb +4 -24
- data/spec/crunchbase/model/funding_round_spec.rb +75 -32
- data/spec/crunchbase/model/headquarter_spec.rb +37 -0
- data/spec/crunchbase/model/investment_spec.rb +4 -15
- data/spec/crunchbase/model/investor_spec.rb +37 -0
- data/spec/crunchbase/model/new_spec.rb +86 -0
- data/spec/crunchbase/model/office_spec.rb +29 -9
- data/spec/crunchbase/model/organization_spec.rb +160 -34
- data/spec/crunchbase/model/past_team_spec.rb +36 -14
- data/spec/crunchbase/model/person_spec.rb +21 -19
- data/spec/crunchbase/model/product_spec.rb +4 -31
- data/spec/crunchbase/model/search_spec.rb +25 -49
- data/spec/crunchbase/model/website_spec.rb +36 -9
- data/spec/crunchbase/support/api_helper.rb +19 -0
- data/spec/spec_helper.rb +14 -4
- metadata +103 -6
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Crunchbase
|
|
5
|
+
class Client
|
|
6
|
+
# Get information by permalink with optional one relationship
|
|
7
|
+
def get(permalink, kclass_name, relationship_name = nil)
|
|
8
|
+
case kclass_name
|
|
9
|
+
when 'Person'
|
|
10
|
+
person(permalink, relationship_name)
|
|
11
|
+
when 'Organization'
|
|
12
|
+
organization(permalink, relationship_name)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Get organization information by the permalink
|
|
17
|
+
def organization(permalink, kclass_name = nil)
|
|
18
|
+
request_perform('Organization', permalink, kclass_name)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Get person information by the permalink
|
|
22
|
+
def person(permalink, kclass_name = nil)
|
|
23
|
+
request_perform('Person', permalink, kclass_name)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def list(kclass_name, options = {})
|
|
27
|
+
page = options[:page] || 1
|
|
28
|
+
|
|
29
|
+
kclass(kclass_name).list(page)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# options -> { query: "Ekohe" } || { name: "Ekohe" } || { domain_name: "ekohe.com" }
|
|
33
|
+
def search(options, kclass_name)
|
|
34
|
+
return [] if kclass_name.nil?
|
|
35
|
+
|
|
36
|
+
kclass('Search').search(options, kclass_name)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def request_perform(stand_kclass, permalink, kclass_name)
|
|
40
|
+
return kclass(stand_kclass).get(permalink) if kclass_name.nil?
|
|
41
|
+
|
|
42
|
+
kclass(kclass_name).organization_lists(permalink)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
private
|
|
46
|
+
def kclass(kclass_name)
|
|
47
|
+
Crunchbase::Model.const_get kclass_name
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
data/lib/crunchbase/exception.rb
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Crunchbase
|
|
4
|
-
class Exception <
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
class
|
|
8
|
-
end
|
|
5
|
+
class Exception < RuntimeError; end
|
|
6
|
+
class ConfigurationException < RuntimeError; end
|
|
7
|
+
class MissingParamsException < RuntimeError; end
|
|
8
|
+
class InvalidRequestException < RuntimeError; end
|
|
9
|
+
class ResponseTypeException < RuntimeError; end
|
|
10
|
+
class CertificateError < StandardError; end
|
|
9
11
|
|
|
10
|
-
class
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class InvalidRequestException < Exception
|
|
14
|
-
end
|
|
12
|
+
class ResponseError < StandardError
|
|
13
|
+
attr_reader :response
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
def initialize(message, response)
|
|
16
|
+
@response = response
|
|
17
|
+
super(message)
|
|
18
|
+
end
|
|
17
19
|
end
|
|
18
20
|
end
|
data/lib/crunchbase/model.rb
CHANGED
|
@@ -1,54 +1,56 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Crunchbase
|
|
4
5
|
module Model
|
|
5
|
-
autoload :AcquiredBy,
|
|
6
|
-
autoload :Acquiree,
|
|
7
|
-
autoload :Acquirer,
|
|
8
|
-
autoload :Acquisition,
|
|
9
|
-
autoload :Address,
|
|
10
|
-
autoload :AdvisoryRole,
|
|
11
|
-
autoload :BoardMembersAndAdvisor,
|
|
12
|
-
autoload :Category,
|
|
13
|
-
autoload :Competitor,
|
|
14
|
-
autoload :
|
|
15
|
-
autoload :
|
|
16
|
-
autoload :
|
|
17
|
-
autoload :
|
|
18
|
-
autoload :
|
|
19
|
-
autoload :
|
|
20
|
-
autoload :
|
|
21
|
-
autoload :
|
|
22
|
-
autoload :
|
|
23
|
-
autoload :
|
|
24
|
-
autoload :
|
|
25
|
-
autoload :
|
|
26
|
-
autoload :
|
|
27
|
-
autoload :
|
|
28
|
-
autoload :
|
|
29
|
-
autoload :
|
|
30
|
-
autoload :
|
|
31
|
-
autoload :
|
|
32
|
-
autoload :
|
|
33
|
-
autoload :
|
|
34
|
-
autoload :
|
|
35
|
-
autoload :
|
|
36
|
-
autoload :
|
|
37
|
-
autoload :
|
|
38
|
-
autoload :
|
|
39
|
-
autoload :
|
|
40
|
-
autoload :
|
|
41
|
-
autoload :
|
|
42
|
-
autoload :
|
|
43
|
-
autoload :
|
|
44
|
-
autoload :
|
|
45
|
-
autoload :
|
|
46
|
-
autoload :
|
|
47
|
-
autoload :
|
|
48
|
-
autoload :
|
|
49
|
-
autoload :
|
|
50
|
-
autoload :
|
|
51
|
-
autoload :
|
|
52
|
-
autoload :
|
|
6
|
+
autoload :AcquiredBy, 'crunchbase/model/acquired_by'
|
|
7
|
+
autoload :Acquiree, 'crunchbase/model/acquiree'
|
|
8
|
+
autoload :Acquirer, 'crunchbase/model/acquirer'
|
|
9
|
+
autoload :Acquisition, 'crunchbase/model/acquisition'
|
|
10
|
+
autoload :Address, 'crunchbase/model/address'
|
|
11
|
+
autoload :AdvisoryRole, 'crunchbase/model/advisory_role'
|
|
12
|
+
autoload :BoardMembersAndAdvisor, 'crunchbase/model/board_members_and_advisor'
|
|
13
|
+
autoload :Category, 'crunchbase/model/category'
|
|
14
|
+
autoload :Competitor, 'crunchbase/model/competitor'
|
|
15
|
+
autoload :FeaturedTeam, 'crunchbase/model/featured_team'
|
|
16
|
+
autoload :CurrentTeam, 'crunchbase/model/current_team'
|
|
17
|
+
autoload :Customer, 'crunchbase/model/customer'
|
|
18
|
+
autoload :Degree, 'crunchbase/model/degree'
|
|
19
|
+
autoload :Error, 'crunchbase/model/error'
|
|
20
|
+
autoload :Entity, 'crunchbase/model/entity'
|
|
21
|
+
autoload :FoundedCompany, 'crunchbase/model/founded_company'
|
|
22
|
+
autoload :Founder, 'crunchbase/model/founder'
|
|
23
|
+
autoload :Fund, 'crunchbase/model/fund'
|
|
24
|
+
autoload :FundRaise, 'crunchbase/model/fund_raise'
|
|
25
|
+
autoload :FundingRound, 'crunchbase/model/funding_round'
|
|
26
|
+
autoload :Headquarter, 'crunchbase/model/headquarter'
|
|
27
|
+
autoload :Image, 'crunchbase/model/image'
|
|
28
|
+
autoload :Investment, 'crunchbase/model/investment'
|
|
29
|
+
autoload :Investor, 'crunchbase/model/investor'
|
|
30
|
+
autoload :Ipo, 'crunchbase/model/ipo'
|
|
31
|
+
autoload :Job, 'crunchbase/model/job'
|
|
32
|
+
autoload :Location, 'crunchbase/model/location'
|
|
33
|
+
autoload :Member, 'crunchbase/model/member'
|
|
34
|
+
autoload :Membership, 'crunchbase/model/membership'
|
|
35
|
+
autoload :New, 'crunchbase/model/new'
|
|
36
|
+
autoload :Office, 'crunchbase/model/office'
|
|
37
|
+
autoload :Organization, 'crunchbase/model/organization'
|
|
38
|
+
autoload :OrganizationSummary, 'crunchbase/model/organization_summary'
|
|
39
|
+
autoload :OwnedBy, 'crunchbase/model/owned_by'
|
|
40
|
+
autoload :PastTeam, 'crunchbase/model/past_team'
|
|
41
|
+
autoload :Person, 'crunchbase/model/person'
|
|
42
|
+
autoload :PersonSummary, 'crunchbase/model/person_summary'
|
|
43
|
+
autoload :PrimaryAffiliation, 'crunchbase/model/primary_affiliation'
|
|
44
|
+
autoload :PrimaryImage, 'crunchbase/model/primary_image'
|
|
45
|
+
autoload :PrimaryLocation, 'crunchbase/model/primary_location'
|
|
46
|
+
autoload :Product, 'crunchbase/model/product'
|
|
47
|
+
autoload :ProductSummary, 'crunchbase/model/product_summary'
|
|
48
|
+
autoload :School, 'crunchbase/model/school'
|
|
49
|
+
autoload :Search, 'crunchbase/model/search'
|
|
50
|
+
autoload :SearchResult, 'crunchbase/model/search_result'
|
|
51
|
+
autoload :SimpleOrganization, 'crunchbase/model/simple_organization'
|
|
52
|
+
autoload :SubOrganization, 'crunchbase/model/sub_organization'
|
|
53
|
+
autoload :Video, 'crunchbase/model/video'
|
|
54
|
+
autoload :Website, 'crunchbase/model/website'
|
|
53
55
|
end
|
|
54
56
|
end
|
|
@@ -1,31 +1,34 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
|
-
module Crunchbase
|
|
4
|
-
|
|
4
|
+
module Crunchbase
|
|
5
|
+
module Model
|
|
6
|
+
class AcquiredBy < Entity
|
|
7
|
+
RESOURCE_LIST = 'acquired_by'
|
|
5
8
|
|
|
6
|
-
|
|
9
|
+
attr_reader :uuid, :type_name, :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,
|
|
12
|
+
:acquiree, :acquirer, :created_at, :updated_at
|
|
7
13
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
attr_reader :acquiree, :acquirer
|
|
12
|
-
|
|
13
|
-
def initialize(json)
|
|
14
|
-
super
|
|
14
|
+
def initialize(json)
|
|
15
|
+
super(json)
|
|
16
|
+
end
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
def relationship_lists
|
|
19
|
+
{
|
|
20
|
+
'aquiree' => Organization,
|
|
21
|
+
'acquirer' => Organization
|
|
22
|
+
}
|
|
19
23
|
end
|
|
20
|
-
end
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
def property_keys
|
|
26
|
+
%w(api_path web_path price price_currency_code price_usd payment_type acquisition_type acquisition_status disposition_of_acquired announced_on announced_on_trust_code completed_on completed_on_trust_code created_at updated_at)
|
|
27
|
+
end
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
def date_keys
|
|
30
|
+
%w(announced_on completed_on)
|
|
31
|
+
end
|
|
28
32
|
end
|
|
29
|
-
|
|
30
33
|
end
|
|
31
34
|
end
|
|
@@ -1,47 +1,44 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Crunchbase::Model
|
|
4
|
-
class Acquisition <
|
|
5
|
-
|
|
5
|
+
class Acquisition < Entity
|
|
6
6
|
RESOURCE_LIST = 'acquisitions'
|
|
7
7
|
RESOURCE_NAME = 'acquisitions'
|
|
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,
|
|
11
11
|
:announced_on, :announced_on_trust_code, :completed_on, :completed_on_trust_code,
|
|
12
|
+
:acquirer, :acquiree, :news,
|
|
13
|
+
:acquirer_total_items, :acquiree_total_items, :news_items,
|
|
12
14
|
:created_at, :updated_at
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
attr_reader :acquirer, :acquiree, :news
|
|
16
|
-
|
|
17
|
-
attr_reader :acquirer_total_items, :acquiree_total_items, :news_items
|
|
18
|
-
|
|
19
16
|
def initialize(json)
|
|
20
17
|
super
|
|
21
18
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
relationships = json['relationships']
|
|
20
|
+
return if relationships.nil?
|
|
21
|
+
|
|
22
|
+
if relationships['acquiree']['item'].nil?
|
|
23
|
+
instance_relationships_object(Organization, 'acquiree', relationships['acquiree'])
|
|
24
|
+
else
|
|
25
|
+
set_relationships_object(Acquiree, 'acquiree', relationships['acquiree'])
|
|
26
|
+
set_relationships_object(Acquirer, 'acquirer', relationships['acquirer'])
|
|
27
|
+
set_relationships_object(New, 'news', relationships['news'])
|
|
30
28
|
end
|
|
31
29
|
end
|
|
32
30
|
|
|
33
31
|
def property_keys
|
|
34
|
-
%w
|
|
32
|
+
%w(
|
|
35
33
|
api_path web_path price price_currency_code price_usd
|
|
36
34
|
payment_type acquisition_type acquisition_status disposition_of_acquired
|
|
37
35
|
announced_on announced_on_trust_code completed_on completed_on_trust_code
|
|
38
36
|
created_at updated_at
|
|
39
|
-
|
|
37
|
+
)
|
|
40
38
|
end
|
|
41
39
|
|
|
42
40
|
def date_keys
|
|
43
|
-
%w
|
|
41
|
+
%w(announced_on completed_on)
|
|
44
42
|
end
|
|
45
|
-
|
|
46
43
|
end
|
|
47
44
|
end
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Crunchbase::Model
|
|
4
|
-
class Address <
|
|
5
|
-
|
|
5
|
+
class Address < Entity
|
|
6
6
|
RESOURCE_LIST = 'addresses'
|
|
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
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
def property_keys
|
|
13
|
-
%w
|
|
12
|
+
%w(
|
|
14
13
|
name street_1 street_2 postal_code city city_web_path region region_code2 region_web_path
|
|
15
14
|
country country_code2 country_code3 country_web_path latitude longitude created_at updated_at
|
|
16
|
-
|
|
15
|
+
)
|
|
17
16
|
end
|
|
18
|
-
|
|
19
17
|
end
|
|
20
18
|
end
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Crunchbase::Model
|
|
4
|
-
class BoardMembersAndAdvisor <
|
|
5
|
-
|
|
5
|
+
class BoardMembersAndAdvisor < Job
|
|
6
6
|
RESOURCE_LIST = 'board_members_and_advisors'
|
|
7
7
|
|
|
8
8
|
attr_reader :person
|
|
9
9
|
|
|
10
10
|
def initialize(json)
|
|
11
11
|
super
|
|
12
|
+
end
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
def relationship_lists
|
|
15
|
+
{
|
|
16
|
+
'person' => Person
|
|
17
|
+
}
|
|
16
18
|
end
|
|
17
19
|
|
|
18
|
-
# Factory method to return an instance from a permalink
|
|
19
|
-
def self.get(
|
|
20
|
+
# Factory method to return an instance from a permalink
|
|
21
|
+
def self.get(_permalink)
|
|
20
22
|
nil
|
|
21
23
|
end
|
|
22
|
-
|
|
23
24
|
end
|
|
24
|
-
end
|
|
25
|
+
end
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Crunchbase::Model
|
|
4
|
-
class Category <
|
|
5
|
-
|
|
6
|
-
RESOURCE_LIST = 'categories'
|
|
5
|
+
class Category < Entity
|
|
6
|
+
RESOURCE_LIST = RESOURCE_NAME = 'categories'
|
|
7
7
|
|
|
8
8
|
attr_reader :web_path, :name, :organizations_in_category, :products_in_category, :created_at, :updated_at
|
|
9
9
|
|
|
10
10
|
def property_keys
|
|
11
|
-
%w
|
|
11
|
+
%w(
|
|
12
12
|
web_path name organizations_in_category products_in_category created_at updated_at
|
|
13
|
-
|
|
13
|
+
)
|
|
14
14
|
end
|
|
15
|
-
|
|
16
15
|
end
|
|
17
|
-
end
|
|
16
|
+
end
|
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Crunchbase::Model
|
|
4
|
-
class CurrentTeam <
|
|
5
|
-
|
|
5
|
+
class CurrentTeam < Job
|
|
6
6
|
RESOURCE_LIST = 'current_team'
|
|
7
7
|
|
|
8
8
|
attr_reader :person
|
|
9
9
|
|
|
10
10
|
def initialize(json)
|
|
11
11
|
super
|
|
12
|
-
|
|
13
|
-
unless (relationships = json['relationships']).nil?
|
|
14
|
-
instance_relationships_object(Crunchbase::Model::Person, 'person', relationships['person'])
|
|
15
|
-
end
|
|
16
12
|
end
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
def relationship_lists
|
|
15
|
+
{
|
|
16
|
+
'person' => Person
|
|
17
|
+
}
|
|
21
18
|
end
|
|
22
|
-
|
|
23
19
|
end
|
|
24
|
-
end
|
|
20
|
+
end
|