travis-ci
115 of 115 new or added lines in 8 files covered. (100.0%)
291 of 834 relevant lines covered (34.89%)
1.74 hits per line
1 |
# Backport Hash#dig to Ruby < 2.3
|
|
2 |
# inspired by https://github.com/Invoca/ruby_dig
|
|
3 |
|
|
|
module HashDig |
5✔ |
|
def dig(key, *rest) |
5✔ |
|
value = self[key]
|
× |
|
if value.nil? || rest.empty?
|
× |
|
value |
× |
|
elsif value.respond_to?(:dig) |
× |
|
value.dig(*rest) |
× |
11 |
else
|
|
|
raise TypeError, "#{value.class} does not have #dig method" |
× |
13 |
end
|
|
14 |
end
|
|
15 |
end
|
|
16 |
|
|
|
if RUBY_VERSION < '2.3' |
5✔ |
|
class Hash |
3 all except 2.3.6 and 2.4.3 ✔ |
|
include HashDig
|
3 all except 2.3.6 and 2.4.3 ✔ |
20 |
end
|
|
21 |
end
|