Consolidate UberRides and UberAuth configurations #310
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.
Description
Previously, UberRides used a Configuration class that contained a lot of global state / static properties. This is not ideal for keeping state scroll multiple frameworks (or a single framework for that matter). With the exception of the
sandbox
property, these were all made non-static.This PR consolidates the ConfigurationProvider from UberAuth and the Configuration from UberRides and moves dependencies to UberCore so both can use it.
UberAuth
configuration has been renamed toUber
.Ex. Configuration values in the plist will need to change from
UberAuth/ClientID
->Uber/ClientID
Changes
Dependencies moved to UberCore
UberApp was made public and moved to UberCore.
Required config values will assert
Any required configuration values will now throw a precondition failure in ConfigurationProvider. This was done to make them non-optional. If they are not found in the Info.plist, the SDK will crash at runtime.
DefaultConfigurationProvider -> ConfigurationProvider
Renamed this class to ConfigurationProvider to match the er/ing pattern.
Updated Configuration references
Any references to the legacy Configuration class have been updated to use the equivalent ConfigurationProvider property.
In some cases, this is no longer a static property, so an instance of ConfigurationProvider was added to the calling class.
Testing
Existing unit tests pass