Actions
Feature #10017
closedAdd `Hash#fetch_values`
Description
I'm proposing to add a new method Hash#values_at!
that's basically a combination of #values_at
and #fetch
.
When dealing with configuration I prefer to use #fetch
to fail early and this would be useful to read multiple keys at a time.
An example (not strictly on a Hash, but you get the idea) could be:
repo, token = ENV.values_at!('GITHUB_REPO', 'GITHUB_TOKEN')
ENV.values_at!('INVALID') # raises KeyError
# not sure if that useful, but I provide it here for the sake of completeness
ENV.values_at!("SHELL", "INVALID") { |k| k + " is missing" } # => ["/bin/bash", "INVALID is missing"]
Another name for this could be #fetch_at
, perhaps.
P.S. I'm attaching a patch that was done using mostly trial and error
Files
Actions