openapply 1.0.3.2 → 1.0.3.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: dbf10a50cefd81755cc8f3bcdb2098315d82cf5c72b1b7b0678aa2cb6e0177b0
4
- data.tar.gz: 5ae83cc1a9e57bfcd82d7a77d0024da024f7fb18c70b88acf21ed3e0da290e55
3
+ metadata.gz: 59976c236fadb201213e05988e2970d93372bcba011a885da3fa2f6764b6d62d
4
+ data.tar.gz: 9d08c0a5fc122cdf36fbe7284efe6fe1d29a2bf23cffa7990770bf895f1f223c
5
5
  SHA512:
6
- metadata.gz: 2a96d8a7ff2f7d443a515da7d8441d4c06b7a798bf91392549fd422a9d34a3117c7d9d365a689ae07e42a2bbbad47ef2856647b780b3136bb47a12afa5fff618
7
- data.tar.gz: 55a62490b29f061976b84c59d81b5cd7ba18d96fff46b0e1eea058c31bd8a68d6c867c02f70468512a1ec72cb3ae9b17f644e9f9d7c46814b0baf1b512cc9ad1
6
+ metadata.gz: 51c55c2d070ecbfd819e8ca6305e67fe44eab4faf3066925c75fbed5d369352f5084b91fc658fd61feb2693897b1090b4af09b59ea04a359aee96eec00ad9ca3
7
+ data.tar.gz: 8ee90f5a132ef602c748d9faa896f05c3ecc6ec4eb4b69b2cddae804149c11175b3800ed7181cd43898e2363190153d3878c7d7617c0e72b34cab15dfc606bda
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- openapply (1.0.3.2)
4
+ openapply (1.0.3.3)
5
5
  httparty (~> 0.18)
6
6
  json (~> 2.3)
7
7
  oauth2 (~> 1.4)
@@ -14,56 +14,66 @@ GEM
14
14
  codacy-coverage (2.2.1)
15
15
  simplecov
16
16
  coderay (1.1.3)
17
- crack (0.4.3)
18
- safe_yaml (~> 1.0.0)
17
+ crack (0.4.5)
18
+ rexml
19
19
  diff-lcs (1.4.4)
20
- docile (1.3.2)
21
- faraday (1.0.1)
20
+ docile (1.3.5)
21
+ faraday (1.4.1)
22
+ faraday-excon (~> 1.1)
23
+ faraday-net_http (~> 1.0)
24
+ faraday-net_http_persistent (~> 1.1)
22
25
  multipart-post (>= 1.2, < 3)
26
+ ruby2_keywords (>= 0.0.4)
27
+ faraday-excon (1.1.0)
28
+ faraday-net_http (1.0.1)
29
+ faraday-net_http_persistent (1.1.0)
23
30
  hashdiff (1.0.1)
24
31
  httparty (0.18.1)
25
32
  mime-types (~> 3.0)
26
33
  multi_xml (>= 0.5.2)
27
- json (2.3.1)
28
- jwt (2.2.2)
34
+ json (2.5.1)
35
+ jwt (2.2.3)
29
36
  method_source (1.0.0)
30
37
  mime-types (3.3.1)
31
38
  mime-types-data (~> 3.2015)
32
- mime-types-data (3.2020.0512)
39
+ mime-types-data (3.2021.0225)
33
40
  multi_json (1.15.0)
34
41
  multi_xml (0.6.0)
35
42
  multipart-post (2.1.1)
36
- oauth2 (1.4.4)
43
+ oauth2 (1.4.7)
37
44
  faraday (>= 0.8, < 2.0)
38
45
  jwt (>= 1.0, < 3.0)
39
46
  multi_json (~> 1.3)
40
47
  multi_xml (~> 0.5)
41
48
  rack (>= 1.2, < 3)
42
- pry (0.13.1)
49
+ pry (0.14.1)
43
50
  coderay (~> 1.1)
44
51
  method_source (~> 1.0)
45
52
  public_suffix (4.0.6)
46
53
  rack (2.2.3)
47
- rake (13.0.1)
48
- rspec (3.9.0)
49
- rspec-core (~> 3.9.0)
50
- rspec-expectations (~> 3.9.0)
51
- rspec-mocks (~> 3.9.0)
52
- rspec-core (3.9.2)
53
- rspec-support (~> 3.9.3)
54
- rspec-expectations (3.9.2)
54
+ rake (13.0.3)
55
+ rexml (3.2.5)
56
+ rspec (3.10.0)
57
+ rspec-core (~> 3.10.0)
58
+ rspec-expectations (~> 3.10.0)
59
+ rspec-mocks (~> 3.10.0)
60
+ rspec-core (3.10.1)
61
+ rspec-support (~> 3.10.0)
62
+ rspec-expectations (3.10.1)
55
63
  diff-lcs (>= 1.2.0, < 2.0)
56
- rspec-support (~> 3.9.0)
57
- rspec-mocks (3.9.1)
64
+ rspec-support (~> 3.10.0)
65
+ rspec-mocks (3.10.2)
58
66
  diff-lcs (>= 1.2.0, < 2.0)
59
- rspec-support (~> 3.9.0)
60
- rspec-support (3.9.3)
61
- safe_yaml (1.0.5)
62
- simplecov (0.19.0)
67
+ rspec-support (~> 3.10.0)
68
+ rspec-support (3.10.2)
69
+ ruby2_keywords (0.0.4)
70
+ simplecov (0.21.2)
63
71
  docile (~> 1.1)
64
72
  simplecov-html (~> 0.11)
65
- simplecov-html (0.12.2)
66
- webmock (3.9.1)
73
+ simplecov_json_formatter (~> 0.1)
74
+ simplecov-html (0.12.3)
75
+ simplecov_json_formatter (0.1.3)
76
+ webmock (3.12.2)
67
77
  addressable (>= 2.3.6)
68
78
  crack (>= 0.3.2)
69
79
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -81,4 +91,4 @@ DEPENDENCIES
81
91
  webmock (~> 3.9)
82
92
 
83
93
  BUNDLED WITH
84
- 2.1.4
94
+ 2.2.3
@@ -5,6 +5,9 @@ require "openapply/put"
5
5
  require 'httparty'
6
6
 
7
7
  module Openapply
8
+ class TooManyRequestError < StandardError
9
+ end
10
+
8
11
  class Client
9
12
 
10
13
  include HTTParty # Library for API calls
@@ -12,6 +15,8 @@ module Openapply
12
15
  include Openapply::GetOneStudent # GET api calls
13
16
  include Openapply::GetManyStudents # GET api calls
14
17
 
18
+ NET_EXCEPTIONS = [Net::ReadTimeout, Net::OpenTimeout, TooManyRequestError]
19
+
15
20
  API_TIMEOUT = ENV['OA_TIMEOUT'].to_i == 0 ? 5 : ENV['OA_TIMEOUT'].to_i
16
21
  default_timeout API_TIMEOUT
17
22
 
@@ -72,8 +77,10 @@ module Openapply
72
77
  times_retried = 0
73
78
  begin
74
79
  options[:headers] = { 'Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8', "Authorization" => auth_token}
75
- self.class.get(url, options)
76
- rescue Net::ReadTimeout, Net::OpenTimeout
80
+ answer = self.class.get(url, options)
81
+ raise TooManyRequestError if answer.too_many_requests?
82
+ answer
83
+ rescue *NET_EXCEPTIONS
77
84
  if times_retried < max_retries
78
85
  times_retried += 1
79
86
  retry
@@ -100,7 +107,7 @@ module Openapply
100
107
  options[:headers] = { 'Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8', "Authorization" => auth_token}
101
108
  options[:body] = value
102
109
  self.class.put(url, options)
103
- rescue Net::ReadTimeout, Net::OpenTimeout
110
+ rescue *NET_EXCEPTIONS
104
111
  if times_retried < max_retries
105
112
  times_retried += 1
106
113
  retry
@@ -161,5 +168,4 @@ module Openapply
161
168
  end
162
169
 
163
170
  end
164
-
165
171
  end
@@ -1,5 +1,5 @@
1
1
  module Openapply
2
2
  module Version
3
- VERSION = "1.0.3.2"
3
+ VERSION = "1.0.3.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openapply
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3.2
4
+ version: 1.0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bill Tihen
8
8
  - Elliott Hébert
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-09-16 00:00:00.000000000 Z
12
+ date: 2021-05-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -137,7 +137,7 @@ dependencies:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0.13'
140
- description:
140
+ description:
141
141
  email:
142
142
  - btihen@gmail.com
143
143
  - btihen@las.ch
@@ -173,7 +173,7 @@ homepage: https://github.com/las-it/openapply
173
173
  licenses:
174
174
  - MIT
175
175
  metadata: {}
176
- post_install_message:
176
+ post_install_message:
177
177
  rdoc_options: []
178
178
  require_paths:
179
179
  - lib
@@ -188,8 +188,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
188
  - !ruby/object:Gem::Version
189
189
  version: '0'
190
190
  requirements: []
191
- rubygems_version: 3.1.2
192
- signing_key:
191
+ rubygems_version: 3.2.3
192
+ signing_key:
193
193
  specification_version: 4
194
194
  summary: Access OpenApply's APIs with Ruby
195
195
  test_files: []