sourcescrub 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8631fba58663ed2b6340e63ac4dcbfdd387a07aa1192bb0ab911412071bf25f7
4
- data.tar.gz: 446f9ebbbbe9fe5acf1eaef967c2b10983e3f5ce9c2362799e1071af34dcf9dd
3
+ metadata.gz: 7d8b09fea67b65e3ff5d2d8effb6d62a695a414b3b6f650561e2c261a0071d3f
4
+ data.tar.gz: 2746a0d58773997be22eab5c4b50bb01118bad06f9c149a7f4de86aa77f314af
5
5
  SHA512:
6
- metadata.gz: 54577a01f056d9414ffe17e72ff651e1bda42c4776ca9d820d672943a3e4f866fff933f80447feb96131932f8dadc28c132fb8a5da7149aee57bf893ee7c7d0b
7
- data.tar.gz: 726091a74644fbf1f0b09dcd5b70f8a1d5f542796ea9f756a969487362b85744165dcf823b25f2f47c8f6385c53368a582fdcf8da1f58d29fc959fe19020e249
6
+ metadata.gz: e460c9f06ed36b2806d808d3360eaba605e3d43254699e0c284a210bde657e6e1f7c54e18e580fa7e9a1075b51510c3071a109af58e0807770f414dfbe868468
7
+ data.tar.gz: 45f1be48446d80daa3b11f4f15d604ea9b840d1c42d256bcbf6b7018f3d26ff720cfd820c9c8a20f5c5157ebd6dd9cfdceb17b3ab4ae1f1a67512a428c8da7c7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Change Log
2
2
 
3
+ ## [0.1.3] - 2024-06-17
4
+
5
+ - Get company data by SS ID - `client.company('XWO6N4OP')`
6
+ - Pull new fields of company
7
+ - threeMonthsGrowthRate
8
+ - sixMonthsGrowthRate
9
+ - nineMonthsGrowthRate
10
+ - twelveMonthsGrowthRate
11
+ - growthIntent
12
+ - customScore
13
+ - industries
14
+ - modifiedDate
15
+ - endMarkets
16
+ - productsAndServices
17
+
3
18
  ## [0.1.2] - 2021-01-14
4
19
 
5
20
  - Implement search source endpoint to allow use filters to get matched sources - `client.source_search({limit: 10, offset: 0})`
@@ -21,8 +36,8 @@
21
36
  ## [0.0.3] - 2020-06-20
22
37
 
23
38
  - Implement API to request token by user certificate
24
- - Get company data by domain - `client.company(ekohe.com)`
25
- - Get company's relationship data by domain - `client.company(ekohe.com, {card_id: 'people'})`
39
+ - Get company data by domain - `client.company('ekohe.com')`
40
+ - Get company's relationship data by domain - `client.company('ekohe.com', {card_id: 'people'})`
26
41
  - Retrieve request limit data from header
27
42
 
28
43
  ```
data/Gemfile.lock CHANGED
@@ -1,35 +1,38 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sourcescrub (0.1.2)
4
+ sourcescrub (0.1.3)
5
5
  faraday
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- addressable (2.7.0)
10
+ addressable (2.8.0)
11
11
  public_suffix (>= 2.0.2, < 5.0)
12
12
  ast (2.4.1)
13
+ base64 (0.2.0)
13
14
  coderay (1.1.3)
14
15
  crack (0.4.3)
15
16
  safe_yaml (~> 1.0.0)
16
17
  diff-lcs (1.3)
17
- faraday (1.0.1)
18
- multipart-post (>= 1.2, < 3)
18
+ faraday (2.8.1)
19
+ base64
20
+ faraday-net_http (>= 2.0, < 3.1)
21
+ ruby2_keywords (>= 0.0.4)
22
+ faraday-net_http (3.0.2)
19
23
  hashdiff (1.0.1)
20
24
  method_source (1.0.0)
21
- multipart-post (2.1.1)
22
25
  parallel (1.19.2)
23
26
  parser (2.7.1.3)
24
27
  ast (~> 2.4.0)
25
28
  pry (0.13.1)
26
29
  coderay (~> 1.1)
27
30
  method_source (~> 1.0)
28
- public_suffix (4.0.5)
31
+ public_suffix (4.0.6)
29
32
  rainbow (3.0.0)
30
33
  rake (12.3.3)
31
34
  regexp_parser (1.7.1)
32
- rexml (3.2.4)
35
+ rexml (3.2.5)
33
36
  rspec (3.9.0)
34
37
  rspec-core (~> 3.9.0)
35
38
  rspec-expectations (~> 3.9.0)
@@ -55,6 +58,7 @@ GEM
55
58
  rubocop-ast (0.0.3)
56
59
  parser (>= 2.7.0.1)
57
60
  ruby-progressbar (1.10.1)
61
+ ruby2_keywords (0.0.5)
58
62
  safe_yaml (1.0.5)
59
63
  unicode-display_width (1.7.0)
60
64
  vcr (6.0.0)
data/README.md CHANGED
@@ -61,7 +61,8 @@ pry(main)> client.headers
61
61
 
62
62
  ```ruby
63
63
  <!-- Company -->
64
- response = client.company('ekohe.com')
64
+ response = client.company('ekohe.com') # get data by domain
65
+ response = client.company('LZ281NVD') # get data by SS ID
65
66
 
66
67
  <!-- Get the JSON response of Company -->
67
68
 
@@ -70,7 +71,7 @@ response.as_json
70
71
 
71
72
  ### Companies
72
73
 
73
- #### Get the company data
74
+ #### Get the company data by domain or Sourcescrub ID
74
75
 
75
76
  ```ruby
76
77
  pry(main)> response = client.company('ekohe.com')
@@ -179,6 +180,7 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
179
180
 
180
181
  Bug reports and pull requests are welcome on GitHub at https://github.com/ekohe/sourcescrub. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/ekohe/sourcescrub/blob/master/CODE_OF_CONDUCT.md).
181
182
 
183
+ - [Encore](https://github.com/encoreshao)
182
184
 
183
185
  ## License
184
186
 
@@ -12,8 +12,8 @@ module Sourcescrub
12
12
 
13
13
  attr_accessor :args
14
14
 
15
- def initialize(domain, args)
16
- @domain = domain
15
+ def initialize(identifier, args)
16
+ @identifier = identifier
17
17
  @model_type = args.delete(:model_type)
18
18
  @card_id = args.delete(:card_id)
19
19
  @args = args
@@ -22,7 +22,7 @@ module Sourcescrub
22
22
  def request_url
23
23
  [
24
24
  Models::Company::ENDPOINT,
25
- @domain,
25
+ @identifier,
26
26
  @card_id
27
27
  ].compact.join('/')
28
28
  end
@@ -30,17 +30,17 @@ module Sourcescrub
30
30
  )
31
31
  end
32
32
 
33
- def company(domain, args = {})
34
- api = company_api(domain, args)
33
+ def company(identifier, args = {})
34
+ api = company_api(identifier, args)
35
35
 
36
36
  api.sobject.parse_response get(api.request_url, api.args)
37
37
  end
38
38
 
39
- def company_cards(domain, args = {})
40
- api = company_api(domain, args.merge(model_type: company_card_mappings[args[:card_id]]))
39
+ def company_cards(identifier, args = {})
40
+ api = company_api(identifier, args.merge(model_type: company_card_mappings[args[:card_id]]))
41
41
 
42
42
  Models::CompanyItems.new.parse_response_items(
43
- domain,
43
+ identifier,
44
44
  api.kclass_name,
45
45
  get(api.request_url, api.args)
46
46
  )
@@ -90,9 +90,9 @@ module Sourcescrub
90
90
  )
91
91
  end
92
92
 
93
- def company_api(domain, args)
93
+ def company_api(identifier, args)
94
94
  Apis::Companies.new(
95
- domain,
95
+ identifier,
96
96
  { model_type: 'company' }.merge(args)
97
97
  )
98
98
  end
@@ -8,6 +8,7 @@ module Sourcescrub
8
8
  class Company < Entity
9
9
  ENDPOINT = 'companies'
10
10
 
11
+ # rubocop:disable Metrics/MethodLength
11
12
  def field_ids
12
13
  %w[
13
14
  id
@@ -32,13 +33,24 @@ module Sourcescrub
32
33
  linkedIn
33
34
  totalAmountInvested
34
35
  currentEmployeeCount
36
+ threeMonthsGrowthRate
37
+ sixMonthsGrowthRate
38
+ nineMonthsGrowthRate
39
+ twelveMonthsGrowthRate
35
40
  currentEmployeeRange
36
41
  currentJobOpenings
42
+ growthIntent
37
43
  investors
38
44
  personalTags
39
45
  firmTags
46
+ customScore
47
+ industries
48
+ modifiedDate
49
+ endMarkets
50
+ productsAndServices
40
51
  ]
41
52
  end
53
+ # rubocop:enable Metrics/MethodLength
42
54
  end
43
55
  end
44
56
  end
@@ -5,9 +5,10 @@ module Sourcescrub
5
5
  module Models
6
6
  # Tag
7
7
  class CompanyItems < Entity
8
- attr_accessor :domain, :total, :items, :type
8
+ attr_accessor :identifier, :total, :items, :type
9
9
 
10
- def parse_response_items(domain, kclass_name, response)
10
+ # the identifier can be domain or SS ID
11
+ def parse_response_items(identifier, kclass_name, response)
11
12
  headers = response.dig('headers')
12
13
  headers&.keys&.each do |attr_name|
13
14
  self.class.send(:define_method, attr_name.gsub('-', '_').to_sym) do
@@ -15,7 +16,7 @@ module Sourcescrub
15
16
  end
16
17
  end
17
18
 
18
- dynamic_define_method(self, 'domain', domain)
19
+ dynamic_define_method(self, 'identifier', identifier)
19
20
  dynamic_define_method(self, 'type', kclass_name)
20
21
  dynamic_define_method(self, 'total', response.dig(total_key) || 0)
21
22
  dynamic_define_method(self, 'items', company_items(kclass_name, response.dig(items_key) || []))
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sourcescrub
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sourcescrub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Encore Shao
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-14 00:00:00.000000000 Z
11
+ date: 2024-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -148,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
148
  - !ruby/object:Gem::Version
149
149
  version: '0'
150
150
  requirements: []
151
- rubygems_version: 3.0.3
151
+ rubygems_version: 3.1.6
152
152
  signing_key:
153
153
  specification_version: 4
154
154
  summary: Sourcescrub is a ruby wrapper based on Source Scrub API.