piplapis-ruby 5.0.3 → 5.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a9ec065bf1afe0724361330927ccb35dc910cf36
4
+ data.tar.gz: 756f3b62d694449389e39b7c1a148df89d531d69
5
+ SHA512:
6
+ metadata.gz: db49fce2bcbe5f2b9e6307c0a125c2f61f5c1f10fa4b59e1dd805600facfefdacd53258e61bff9f716c4ceedc169d411787a7d4d971e3c63a894b9c46ba0daab
7
+ data.tar.gz: 178270c9e6675ca1c7f16472620d6342780261d0108e12ccbf2fe3e9e04aa7ce2b6bc42c46d0910d0acc2ef2d5a8804b724c362dac75f79cab9ac3db3ae6e92f
data/lib/pipl/errors.rb CHANGED
@@ -7,16 +7,25 @@
7
7
 
8
8
  class APIError < Exception
9
9
  attr_reader :status_code
10
- attr_reader :qps_allotted, :qps_current, :quota_allotted, :quota_current, :quota_reset
10
+ attr_reader :qps_allotted, :qps_current, :qps_live_allotted, :qps_live_current, :qps_demo_allotted,
11
+ :qps_demo_current, :quota_allotted, :quota_current, :quota_reset, :demo_usage_allotted,
12
+ :demo_usage_current, :demo_usage_expiry
11
13
 
12
14
  def initialize(message, status_code, params={})
13
15
  super message
14
16
  @status_code = status_code
15
17
  @qps_allotted = params[:qps_allotted]
16
18
  @qps_current = params[:qps_current]
19
+ @qps_live_allotted = params[:qps_live_allotted]
20
+ @qps_live_current = params[:qps_live_current]
21
+ @qps_demo_allotted = params[:qps_demo_allotted]
22
+ @qps_demo_current = params[:qps_demo_current]
17
23
  @quota_allotted = params[:quota_allotted]
18
24
  @quota_current = params[:quota_current]
19
25
  @quota_reset = params[:quota_reset]
26
+ @demo_usage_allotted = params[:demo_usage_allotted]
27
+ @demo_usage_current = params[:demo_usage_current]
28
+ @demo_usage_expiry = params[:demo_usage_expiry]
20
29
  end
21
30
 
22
31
  def is_user_error?
@@ -29,15 +38,7 @@
29
38
 
30
39
  def self.deserialize(json_str, headers={})
31
40
  h = JSON.parse(json_str, symbolize_names: true)
32
-
33
- # Quota and Throttle headers
34
- params = {}
35
- params[:qps_allotted] = headers['X-APIKey-QPS-Allotted'].to_i if headers.key? 'X-APIKey-QPS-Allotted'
36
- params[:qps_current] = headers['X-APIKey-QPS-Current'].to_i if headers.key? 'X-APIKey-QPS-Current'
37
- params[:quota_allotted] = headers['X-APIKey-Quota-Allotted'].to_i if headers.key? 'X-APIKey-Quota-Allotted'
38
- params[:quota_current] = headers['X-APIKey-Quota-Current'].to_i if headers.key? 'X-APIKey-Quota-Current'
39
- params[:quota_reset] = DateTime.strptime(headers['X-Quota-Reset'], '%A, %B %d, %Y %I:%M:%S %p %Z') if headers.key? 'X-Quota-Reset'
40
-
41
+ params = Utils::extract_rate_limits(headers)
41
42
  self.new(h[:error], h[:@http_status_code], params)
42
43
  end
43
44
 
data/lib/pipl/response.rb CHANGED
@@ -11,7 +11,10 @@ module Pipl
11
11
  attr_reader :query, :person, :sources, :possible_persons, :warnings, :visible_sources, :available_sources
12
12
  attr_reader :search_id, :http_status_code, :raw_response, :available_data, :match_requirements
13
13
  attr_reader :source_category_requirements, :person_count
14
- attr_reader :qps_allotted, :qps_current, :quota_allotted, :quota_current, :quota_reset
14
+ attr_reader :qps_allotted, :qps_current, :qps_live_allotted, :qps_live_current, :qps_demo_allotted,
15
+ :qps_demo_current, :quota_allotted, :quota_current, :quota_reset, :demo_usage_allotted,
16
+ :demo_usage_current, :demo_usage_expiry
17
+
15
18
 
16
19
  def initialize(params={})
17
20
  @query = params[:query]
@@ -30,9 +33,16 @@ module Pipl
30
33
  @person_count = params[:person_count]
31
34
  @qps_allotted = params[:qps_allotted]
32
35
  @qps_current = params[:qps_current]
36
+ @qps_live_allotted = params[:qps_live_allotted]
37
+ @qps_live_current = params[:qps_live_current]
38
+ @qps_demo_allotted = params[:qps_demo_allotted]
39
+ @qps_demo_current = params[:qps_demo_current]
33
40
  @quota_allotted = params[:quota_allotted]
34
41
  @quota_current = params[:quota_current]
35
42
  @quota_reset = params[:quota_reset]
43
+ @demo_usage_allotted = params[:demo_usage_allotted]
44
+ @demo_usage_current = params[:demo_usage_current]
45
+ @demo_usage_expiry = params[:demo_usage_expiry]
36
46
  end
37
47
 
38
48
  def self.deserialize(json_str, headers={})
@@ -64,12 +74,7 @@ module Pipl
64
74
  params[:person_count] = 0
65
75
  end
66
76
 
67
- # Quota and Throttle headers
68
- params[:qps_allotted] = headers['X-APIKey-QPS-Allotted'].to_i if headers.key? 'X-APIKey-QPS-Allotted'
69
- params[:qps_current] = headers['X-APIKey-QPS-Current'].to_i if headers.key? 'X-APIKey-QPS-Current'
70
- params[:quota_allotted] = headers['X-APIKey-Quota-Allotted'].to_i if headers.key? 'X-APIKey-Quota-Allotted'
71
- params[:quota_current] = headers['X-APIKey-Quota-Current'].to_i if headers.key? 'X-APIKey-Quota-Current'
72
- params[:quota_reset] = DateTime.strptime(headers['X-Quota-Reset'], '%A, %B %d, %Y %I:%M:%S %p %Z') if headers.key? 'X-Quota-Reset'
77
+ params.merge! Utils::extract_rate_limits(headers)
73
78
 
74
79
  self.new(params)
75
80
  end
@@ -80,7 +85,7 @@ module Pipl
80
85
 
81
86
  # Here for backward compatibility
82
87
  def self.from_json(json_str)
83
- self.deserialize(json_str)
88
+ self.deserialize(json_str)
84
89
  end
85
90
 
86
91
  def matching_sources
@@ -183,8 +188,9 @@ module Pipl
183
188
  end
184
189
 
185
190
  class FieldCount
186
- attr_reader :addresses, :ethnicities, :emails, :dobs, :genders, :user_ids, :social_profiles, :educations, :jobs,
187
- :images, :languages, :origin_countries, :names, :phones, :relationships, :usernames
191
+ attr_reader :addresses, :ethnicities, :emails, :dobs, :genders, :user_ids, :social_profiles, :educations, :jobs,
192
+ :images, :languages, :origin_countries, :names, :phones, :mobile_phones, :landline_phones,
193
+ :relationships, :usernames
188
194
 
189
195
  def initialize(params={})
190
196
  @addresses = params[:addresses] || 0
@@ -201,6 +207,8 @@ module Pipl
201
207
  @origin_countries = params[:origin_countries] || 0
202
208
  @names = params[:names] || 0
203
209
  @phones = params[:phones] || 0
210
+ @mobile_phones = params[:mobile_phones] || 0
211
+ @landline_phones = params[:landline_phones] || 0
204
212
  @relationships = params[:relationships] || 0
205
213
  @usernames = params[:usernames] || 0
206
214
  end
data/lib/pipl/utils.rb CHANGED
@@ -44,6 +44,23 @@ module Pipl
44
44
  end
45
45
  end
46
46
 
47
+ def extract_rate_limits(headers={})
48
+ res = {}
49
+ res[:qps_allotted] = headers['X-QPS-Allotted'].to_i if headers.key? 'X-QPS-Allotted'
50
+ res[:qps_current] = headers['X-QPS-Current'].to_i if headers.key? 'X-QPS-Current'
51
+ res[:qps_live_allotted] = headers['X-QPS-Live-Allotted'].to_i if headers.key? 'X-QPS-Live-Allotted'
52
+ res[:qps_live_current] = headers['X-QPS-Live-Current'].to_i if headers.key? 'X-QPS-Live-Current'
53
+ res[:qps_demo_allotted] = headers['X-QPS-Demo-Allotted'].to_i if headers.key? 'X-QPS-Demo-Allotted'
54
+ res[:qps_demo_current] = headers['X-QPS-Demo-Current'].to_i if headers.key? 'X-QPS-Demo-Current'
55
+ res[:quota_allotted] = headers['X-APIKey-Quota-Allotted'].to_i if headers.key? 'X-APIKey-Quota-Allotted'
56
+ res[:quota_current] = headers['X-APIKey-Quota-Current'].to_i if headers.key? 'X-APIKey-Quota-Current'
57
+ res[:quota_reset] = DateTime.strptime(headers['X-Quota-Reset'], '%A, %B %d, %Y %I:%M:%S %p %Z') if headers.key? 'X-Quota-Reset'
58
+ res[:demo_usage_allotted] = headers['X-Demo-Usage-Allotted'].to_i if headers.key? 'X-Demo-Usage-Allotted'
59
+ res[:demo_usage_current] = headers['X-Demo-Usage-Current'].to_i if headers.key? 'X-Demo-Usage-Current'
60
+ res[:demo_usage_expiry] = DateTime.strptime(headers['X-Demo-Usage-Expiry'], '%A, %B %d, %Y %I:%M:%S %p %Z') if headers.key? 'X-Demo-Usage-Expiry'
61
+ res
62
+ end
63
+
47
64
  end
48
65
 
49
66
  end
data/lib/pipl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pipl
2
- VERSION = '5.0.3'.freeze
2
+ VERSION = '5.0.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: piplapis-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.3
5
- prerelease:
4
+ version: 5.0.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Edo Shor
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2016-07-07 00:00:00.000000000 Z
11
+ date: 2016-12-05 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
  description: Pipl is the most comprehensive people search on the web. See https://pipl.com
@@ -37,41 +34,40 @@ extra_rdoc_files: []
37
34
  files:
38
35
  - LICENSE
39
36
  - README.md
40
- - pipl.gemspec
37
+ - lib/pipl.rb
38
+ - lib/pipl/client.rb
39
+ - lib/pipl/configurable.rb
41
40
  - lib/pipl/consts.rb
42
- - lib/pipl/utils.rb
41
+ - lib/pipl/containers.rb
43
42
  - lib/pipl/default.rb
43
+ - lib/pipl/errors.rb
44
44
  - lib/pipl/fields.rb
45
45
  - lib/pipl/response.rb
46
- - lib/pipl/client.rb
47
- - lib/pipl/containers.rb
46
+ - lib/pipl/utils.rb
48
47
  - lib/pipl/version.rb
49
- - lib/pipl/errors.rb
50
- - lib/pipl/configurable.rb
51
- - lib/pipl.rb
48
+ - pipl.gemspec
52
49
  homepage: https://github.com/piplcom/piplapis-ruby
53
50
  licenses:
54
51
  - Apache 2.0
52
+ metadata: {}
55
53
  post_install_message:
56
54
  rdoc_options: []
57
55
  require_paths:
58
56
  - lib
59
57
  required_ruby_version: !ruby/object:Gem::Requirement
60
- none: false
61
58
  requirements:
62
- - - ! '>='
59
+ - - ">="
63
60
  - !ruby/object:Gem::Version
64
61
  version: '0'
65
62
  required_rubygems_version: !ruby/object:Gem::Requirement
66
- none: false
67
63
  requirements:
68
- - - ! '>='
64
+ - - ">="
69
65
  - !ruby/object:Gem::Version
70
66
  version: '0'
71
67
  requirements: []
72
68
  rubyforge_project:
73
- rubygems_version: 1.8.23.2
69
+ rubygems_version: 2.5.1
74
70
  signing_key:
75
- specification_version: 3
71
+ specification_version: 4
76
72
  summary: Ruby bindings for the Pipl API
77
73
  test_files: []