class Spotify::SDK::Model
For each SDK
response object (i.e. Device), we have a Model
class. We're using OpenStruct.
Attributes
parent[R]
A reference to Spotify::SDK::Connect
.
Public Class Methods
hash_selector(hash, selector)
click to toggle source
# File lib/spotify/sdk/model.rb, line 61 def hash_selector(hash, selector) hash.deep_symbolize_keys! segments = selector.split(".") hash = hash[segments.shift.try(:to_sym)] while segments.any? hash end
new(payload, parent)
click to toggle source
Initialize a new Model
instance.
@example
module Spotify class SDK class User < Model end end end @base = Spotify::SDK::Base.new(@sdk) @user = Spotify::SDK::User.new({ username: "hi" }, @base) @user.username # => "hi"
@param [Hash] payload The response payload. @param [Spotify::SDK] parent The SDK
object for context.
Calls superclass method
# File lib/spotify/sdk/model.rb, line 27 def initialize(payload, parent) @payload = payload raise "Expected payload to be of Hash type" unless @payload.instance_of?(Hash) @parent = parent raise "Expected parent to be of Spotify::SDK::Base type" unless @parent.is_a?(Spotify::SDK::Base) super(payload) end