ecfr 1.0.11 → 1.0.12
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/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/lib/ecfr/client.rb +15 -0
- data/lib/ecfr/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44ee6584017e9a07702bb19c563a67803534b903cc767ed4b0cc12195b672a4b
|
4
|
+
data.tar.gz: e695f87cb60ef043bff46563fe87a7d356fcf505665921a08cca959498469dd0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92adb0e55e0f28f73f131c718c708436a36c75f568132add0aa1d33203d5744fc02fee26ebf7b99c86ed6a72356c777691dd63eb4a719773b93f6d64f394e8ce
|
7
|
+
data.tar.gz: bc82b515d235b30fbb06096ab2a666df28c133c0d5b6dae0efd38f790c13d76f0e28130007c1840eacdbfb47230c26532fb770a089df9dfbc88d5fa0df449a65
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/ecfr/client.rb
CHANGED
@@ -29,6 +29,15 @@ module Ecfr
|
|
29
29
|
class Unauthorized < Error; end
|
30
30
|
class UnknownStatusCode < Error; end
|
31
31
|
|
32
|
+
class RetryAfter < Error
|
33
|
+
attr_reader :delay
|
34
|
+
|
35
|
+
def initialize(record = nil, message = "", delay: nil)
|
36
|
+
@delay = delay.to_i
|
37
|
+
super(record, message)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
32
41
|
#
|
33
42
|
# Faraday client configured for eCFR usage.
|
34
43
|
#
|
@@ -313,6 +322,12 @@ module Ecfr
|
|
313
322
|
raise RecordNotFound
|
314
323
|
when 422
|
315
324
|
raise InvalidRequest
|
325
|
+
when 429
|
326
|
+
if (retry_after = response.headers["retry-after"]).present?
|
327
|
+
raise RetryAfter.new(delay: retry_after.to_i)
|
328
|
+
else
|
329
|
+
raise UnknownStatusCode.new(errors, "Status code: #{response.status}")
|
330
|
+
end
|
316
331
|
when 500
|
317
332
|
raise ServerError.new(errors)
|
318
333
|
else
|
data/lib/ecfr/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecfr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peregrinator
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -383,7 +383,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
383
383
|
- !ruby/object:Gem::Version
|
384
384
|
version: '0'
|
385
385
|
requirements: []
|
386
|
-
rubygems_version: 3.
|
386
|
+
rubygems_version: 3.4.10
|
387
387
|
signing_key:
|
388
388
|
specification_version: 4
|
389
389
|
summary: eCFR.gov API client
|