Class: Spotify::SDK::Initialization
- Inherits:
-
Object
- Object
- Spotify::SDK::Initialization
- Defined in:
- lib/spotify/sdk/initialization.rb,
lib/spotify/sdk/initialization/base.rb,
lib/spotify/sdk/initialization/query_hash.rb,
lib/spotify/sdk/initialization/url_string.rb,
lib/spotify/sdk/initialization/plain_string.rb,
lib/spotify/sdk/initialization/query_string.rb,
lib/spotify/sdk/initialization/oauth_access_token.rb
Overview
Spotify::SDK::Initialization deals with parsing input for the following code block ‘Spotify::SDK.new(input)` and extracting the access token, expiry and refresh token.
You’ll never have to interact with this, unless you have other objects you want us to parse the aforementioned variables from.
Defined Under Namespace
Classes: Base, OAuthAccessToken, PlainString, QueryHash, QueryString, URLString
Constant Summary collapse
- CLASSES =
This is where you mount new Initialization objects. Don’t worry, we prefix Spotify::SDK::Initialization for you.
i[ OAuthAccessToken QueryString URLString PlainString QueryHash ].freeze
Class Method Summary collapse
-
.detect(subject) ⇒ Object
Initiate a new Spotify SDK Initialization object.
Class Method Details
.detect(subject) ⇒ Object
Initiate a new Spotify SDK Initialization object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/spotify/sdk/initialization.rb', line 44 def detect(subject) klasses = CLASSES.map do |klass_name| ("Spotify::SDK::Initialization::%s" % klass_name).constantize.new(subject) end matches = klasses.select(&:should_perform?) case matches.size when 1 matches.first.perform when 0 raise Spotify::Errors::InitializationObjectInvalidError.new else raise Spotify::Errors::InitializationObjectDuplicationError.new end end |