Improve StorageInterface, add method get
#660
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR proposes a backwards-compatible extension to
StorageInterface
with default methodget
. Unlikeat
,get
is designed to retrieve up to a single item in storage, so it does not need file system tree traversal or building up iterables and iterators.A default implementation is provided that uses
at
underneath, but implementors may wish to override it for more efficiency.This PR also includes a few quality-of-life improvements, including some clarifications to other methods in the plugin interface.
Summary
StorageInterface#get
, to retrieve a single item from storageat
list
that a trailing forward slash means that it's a directory