Allow objects to bypass Service's global config #34
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.
Up to now you had to accept that if
~/.fog
exists on a system thatit's values were likely to be merged into any service by the reference
to
Fog.credentials
.One solution was to load your own credentials and pass the settings
through to services. However the cleaning of the Hash still merged the
settings with the global and created a new Hash.
This also encouraged each service to do it's own authentication
internally by passing in values like
username
andpassword
thenrequesting a token that was isolated to that service.
That made it unsuitable for passing one configuration object that is
shared between multiple services where both may want to change something
such as the latest, valid authentication token.
This change allows any object that responds to
config_service?
withtrue
to bypass the global merging, parsing, coercion etc. and bepassed directly to a service.
That allows services to dispense with primitive obsession and use tested
objects to configure their services.
Resolves fog/fog#1390