Class: Spotify::SDK::Initialization::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/spotify/sdk/initialization/base.rb

Overview

For each SDK Initialization type, we have a base class to inherit from.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(subject) ⇒ Base

Initiate a Spotify SDK Initialization Base class. Note: You would not ever initiate this class, but rather inherit from it. See /lib/spotify/sdk/initialization/query_string.rb as an example.

Examples:

Spotify::SDK::Initialization::Base.new("access_token")

Parameters:

  • subject (Object)

    Any object that can be used to identify an access token.



20
21
22
# File 'lib/spotify/sdk/initialization/base.rb', line 20

def initialize(subject)
  @subject = subject
end

Instance Attribute Details

#subjectObject (readonly)

The subject of the class. Usually what has been sent to Spotify::SDK.new() is the subject.



57
58
59
# File 'lib/spotify/sdk/initialization/base.rb', line 57

def subject
  @subject
end

Instance Method Details

#performHash

Perform the class to extract the authentication details needed for the SDK class to run.

Examples:

instance = Spotify::SDK::Initialization::Base.new("access_token")
instance.perform if instance.should_perform?

Returns:

  • (Hash)

    A hash containing only access_token, expires_in and refresh_token.



46
47
48
49
50
51
52
# File 'lib/spotify/sdk/initialization/base.rb', line 46

def perform
  {
    access_token:  nil,
    expires_in:    nil,
    refresh_token: nil
  }
end

#should_perform?Boolean

Determine whether this initialization type is valid, and should be performed.

Examples:

instance = Spotify::SDK::Initialization::Base.new("access_token")
instance.should_perform?

Returns:

  • (Boolean)

    A true or false answer as to whether to perform this initialization type.



33
34
35
# File 'lib/spotify/sdk/initialization/base.rb', line 33

def should_perform?
  false
end