ecfr 1.1.7 → 1.1.8
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 +7 -0
- data/Gemfile.lock +1 -1
- data/ecfr.gemspec +1 -1
- data/lib/ecfr/client_configuration.rb +12 -1
- 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: 4b197c379472b132c53aa95124c94cd05818b29394a91e60f1e4207e8d4df7bb
|
|
4
|
+
data.tar.gz: fa0e021f1aea9f478e6cde802c11a259002a6d08fd5040f824ba9fbd503f4e53
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fa28a2683c99f360db6cdc07b57508ebb0ea49500d934709c56f3f0f9b4c5a17c8512e8fe3879de1ac94978305bf61998c2e1ad09caa0a58a41c47a70b4276c3
|
|
7
|
+
data.tar.gz: a4be700d5c585eb262010206bfc606397da99a521a98c6b8ddaded08679c82ed71c857ab76331a956424025d0872f895aa3fbb3571b8c515a0f76f31d9a792f5
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [1.1.8] - 2026-07-13
|
|
4
|
+
### Fixes
|
|
5
|
+
- ClientConfiguration#dig_setting no longer raises when a setting key is absent
|
|
6
|
+
from a settings object that fails on missing keys (e.g. config gem's
|
|
7
|
+
Config::Options with fail_on_missing). Missing keys now return nil, so
|
|
8
|
+
consuming apps can omit blank service/profile settings they don't want to override.
|
|
9
|
+
|
|
3
10
|
## [1.1.7] - 2026-06-29
|
|
4
11
|
### Additions
|
|
5
12
|
- Add authority endpoint
|
data/Gemfile.lock
CHANGED
data/ecfr.gemspec
CHANGED
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
|
|
19
19
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
20
20
|
spec.metadata["source_code_uri"] = "https://github.com/criticaljuncture/ecfr"
|
|
21
|
-
spec.metadata["changelog_uri"] = "https://github.com/criticaljuncture/ecfr"
|
|
21
|
+
spec.metadata["changelog_uri"] = "https://github.com/criticaljuncture/ecfr/blob/main/CHANGELOG.md"
|
|
22
22
|
|
|
23
23
|
# Specify which files should be added to the gem when it is released.
|
|
24
24
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -104,13 +104,24 @@ module Ecfr
|
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
# Safely walk a settings tree via method or [] access, returning nil if any
|
|
107
|
-
# segment is missing rather than raising
|
|
107
|
+
# segment is missing rather than raising.
|
|
108
|
+
#
|
|
109
|
+
# A missing key must return nil, not raise. Some settings objects (e.g. the
|
|
110
|
+
# config gem's Config::Options with fail_on_missing enabled) raise KeyError
|
|
111
|
+
# on unknown keys via both method and [] access, so we check key presence
|
|
112
|
+
# before indexing rather than relying on [] to return nil.
|
|
108
113
|
def self.dig_setting(node, *path)
|
|
109
114
|
path.reduce(node) do |obj, key|
|
|
110
115
|
break nil if obj.nil?
|
|
111
116
|
|
|
112
117
|
if obj.respond_to?(key)
|
|
113
118
|
obj.public_send(key)
|
|
119
|
+
elsif obj.respond_to?(:key?)
|
|
120
|
+
break nil unless obj.key?(key)
|
|
121
|
+
obj[key]
|
|
122
|
+
elsif obj.respond_to?(:has_key?)
|
|
123
|
+
break nil unless obj.has_key?(key)
|
|
124
|
+
obj[key]
|
|
114
125
|
elsif obj.respond_to?(:[])
|
|
115
126
|
obj[key]
|
|
116
127
|
end
|
data/lib/ecfr/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ecfr
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peregrinator
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-
|
|
10
|
+
date: 2026-07-13 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: activemodel
|
|
@@ -391,7 +391,7 @@ metadata:
|
|
|
391
391
|
allowed_push_host: https://rubygems.org
|
|
392
392
|
homepage_uri: https://github.com/criticaljuncture/ecfr
|
|
393
393
|
source_code_uri: https://github.com/criticaljuncture/ecfr
|
|
394
|
-
changelog_uri: https://github.com/criticaljuncture/ecfr
|
|
394
|
+
changelog_uri: https://github.com/criticaljuncture/ecfr/blob/main/CHANGELOG.md
|
|
395
395
|
post_install_message: "\n Some features of the eCFR gem support parsing XML responses,
|
|
396
396
|
response\n caching, and parallel requests.\n\n To use these features you will
|
|
397
397
|
need to install the appropriate gems\n (nokogiri, request_store, and faraday-typhoeus
|