Class: Spotify::SDK::Connect

Inherits:
Base
  • Object
show all
Defined in:
lib/spotify/sdk/connect.rb,
lib/spotify/sdk/connect/device.rb,
lib/spotify/sdk/connect/playback_state.rb

Defined Under Namespace

Classes: Device, PlaybackState

Instance Attribute Summary

Attributes inherited from Base

#parent

Instance Method Summary collapse

Methods inherited from Base

#initialize, #inspect, #send_http_request

Constructor Details

This class inherits a constructor from Spotify::SDK::Base

Instance Method Details

#active_device(override_opts = {}) ⇒ Array, NilClass

Collect the first active device.

Examples:

@sdk.connect.active_device # => #<Spotify::SDK::Connect::Device:...>

Parameters:

  • override_opts (Hash) (defaults to: {})

    Custom options for HTTParty.

Returns:

  • (Array, NilClass)

    device The first device with ‘is_active`. If no device found, returns `nil`.

See Also:



70
71
72
# File 'lib/spotify/sdk/connect.rb', line 70

def active_device(override_opts={})
  devices(override_opts).find(&:active?)
end

#active_devices(override_opts = {}) ⇒ Array

Collect all the active devices.

Examples:

@sdk.connect.active_devices # => [#<Spotify::SDK::Connect::Device:...>, ...]

Parameters:

  • override_opts (Hash) (defaults to: {})

    Custom options for HTTParty.

Returns:

  • (Array)

    devices A list of all devices that are marked as ‘is_active`.

See Also:



55
56
57
# File 'lib/spotify/sdk/connect.rb', line 55

def active_devices(override_opts={})
  devices(override_opts).select(&:active?)
end

#devices(override_opts = {}) ⇒ Array

Collect all the user’s available devices. GET /v1/me/player/devices

Examples:

@sdk.connect.devices # => [#<Spotify::SDK::Connect::Device:...>, ...]

Parameters:

  • override_opts (Hash) (defaults to: {})

    Custom options for HTTParty.

Returns:

  • (Array)

    devices A list of all devices.

See Also:



37
38
39
40
41
42
# File 'lib/spotify/sdk/connect.rb', line 37

def devices(override_opts={})
  response = send_http_request(:get, "/v1/me/player/devices", override_opts)
  response[:devices].map do |device|
    Spotify::SDK::Connect::Device.new(device, self)
  end
end

#playback(market = "from_token", override_opts = {}) ⇒ Spotify::SDK::Connect::PlaybackState

Get the current playback. GET /v1/me/player

Examples:

playback = @sdk.connect.playback

Parameters:

  • market (String) (defaults to: "from_token")

    The market you’d like to request.

  • override_opts (Hash) (defaults to: {})

    Custom options for HTTParty.

Returns:

See Also:



20
21
22
23
# File 'lib/spotify/sdk/connect.rb', line 20

def playback(market="from_token", override_opts={})
  playback_state = send_http_request(:get, "/v1/me/player?market=%s" % market, override_opts)
  Spotify::SDK::Connect::PlaybackState.new(playback_state, self)
end