spotify-ruby-kev 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/CONTRIBUTING.md +3 -0
- data/.github/ISSUE_TEMPLATE.md +27 -0
- data/.gitignore +24 -0
- data/.rspec +3 -0
- data/.rubocop.yml +161 -0
- data/.ruby-version +1 -0
- data/.rvm-version +1 -0
- data/.travis.yml +17 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/COVERAGE.md +148 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/README.md +388 -0
- data/Rakefile +23 -0
- data/lib/spotify.rb +17 -0
- data/lib/spotify/accounts.rb +133 -0
- data/lib/spotify/accounts/session.rb +177 -0
- data/lib/spotify/sdk.rb +93 -0
- data/lib/spotify/sdk/.keep +0 -0
- data/lib/spotify/sdk/album.rb +84 -0
- data/lib/spotify/sdk/artist.rb +163 -0
- data/lib/spotify/sdk/base.rb +77 -0
- data/lib/spotify/sdk/connect.rb +75 -0
- data/lib/spotify/sdk/connect/device.rb +362 -0
- data/lib/spotify/sdk/connect/playback_state.rb +143 -0
- data/lib/spotify/sdk/image.rb +44 -0
- data/lib/spotify/sdk/item.rb +157 -0
- data/lib/spotify/sdk/me.rb +155 -0
- data/lib/spotify/sdk/me/info.rb +108 -0
- data/lib/spotify/sdk/model.rb +70 -0
- data/lib/spotify/version.rb +16 -0
- data/spotify-ruby-kev.gemspec +56 -0
- metadata +291 -0
@@ -0,0 +1,108 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Spotify
|
4
|
+
class SDK
|
5
|
+
class Me
|
6
|
+
class Info < Model
|
7
|
+
##
|
8
|
+
# Is the user currently on Spotify Free?
|
9
|
+
#
|
10
|
+
# @example
|
11
|
+
# @sdk.me.info.free?
|
12
|
+
#
|
13
|
+
# @return [TrueClass,FalseClass] is_free Return true if user is on Spotify Free.
|
14
|
+
#
|
15
|
+
def free?
|
16
|
+
product == "free"
|
17
|
+
end
|
18
|
+
|
19
|
+
##
|
20
|
+
# Is the user currently on Spotify Premium?
|
21
|
+
#
|
22
|
+
# @example
|
23
|
+
# @sdk.me.info.premium?
|
24
|
+
#
|
25
|
+
# @return [TrueClass,FalseClass] is_premium Return true if user is on Spotify Premium.
|
26
|
+
#
|
27
|
+
def premium?
|
28
|
+
product == "premium"
|
29
|
+
end
|
30
|
+
|
31
|
+
##
|
32
|
+
# Get the user's birthdate.
|
33
|
+
# Requires the `user-read-birthdate` scope, otherwise it will return nil.
|
34
|
+
#
|
35
|
+
# @example
|
36
|
+
# @sdk.me.info.birthdate # => Wed, 10 May 1985
|
37
|
+
#
|
38
|
+
# @return [Date,NilClass] birthdate Return the user's birthdate, otherwise return nil.
|
39
|
+
#
|
40
|
+
def birthdate
|
41
|
+
Date.parse(super) if super
|
42
|
+
end
|
43
|
+
|
44
|
+
##
|
45
|
+
# Does the user have a valid display_name?
|
46
|
+
#
|
47
|
+
# @example
|
48
|
+
# @sdk.me.info.display_name? # => false
|
49
|
+
#
|
50
|
+
# @return [TrueClass,FalseClass] has_display_name Return true if the user has a non-empty display name.
|
51
|
+
#
|
52
|
+
def display_name?
|
53
|
+
!display_name.to_s.empty?
|
54
|
+
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# Get the images for the user.
|
58
|
+
#
|
59
|
+
# @example
|
60
|
+
# @sdk.me.info.images[0].spotify_uri # => "spotify:image:..."
|
61
|
+
# @sdk.me.info.images[0].spotify_url # => "https://profile-images.scdn.co/..."
|
62
|
+
#
|
63
|
+
# @return [Array] images A list of all user photos wrapped in Spotify::SDK::Image
|
64
|
+
#
|
65
|
+
def images
|
66
|
+
super.map do |image|
|
67
|
+
Spotify::SDK::Image.new(image, parent)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
##
|
72
|
+
# Return the followers on Spotify for this user.
|
73
|
+
#
|
74
|
+
# @example
|
75
|
+
# me = @sdk.me.info
|
76
|
+
# me.followers # => 13913
|
77
|
+
#
|
78
|
+
# @return [Integer] followers The number of users following this user.
|
79
|
+
#
|
80
|
+
def followers
|
81
|
+
super[:total]
|
82
|
+
end
|
83
|
+
|
84
|
+
##
|
85
|
+
# Get the Spotify URI for this user.
|
86
|
+
# Alias to self.uri
|
87
|
+
#
|
88
|
+
# @example
|
89
|
+
# @sdk.me.info.spotify_uri # => "spotify:user:..."
|
90
|
+
#
|
91
|
+
# @return [String] spotify_uri The direct URI to this Spotify resource.
|
92
|
+
#
|
93
|
+
alias_attribute :spotify_uri, :uri
|
94
|
+
|
95
|
+
##
|
96
|
+
# Get the Spotify HTTP URL for this user.
|
97
|
+
# Alias to self.external_urls[:spotify]
|
98
|
+
#
|
99
|
+
# @example
|
100
|
+
# @sdk.me.info.spotify_url # => "https://open.spotify.com/..."
|
101
|
+
#
|
102
|
+
# @return [String] spotify_url The direct HTTP URL to this Spotify resource.
|
103
|
+
#
|
104
|
+
alias_attribute :spotify_url, "external_urls.spotify"
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Spotify
|
4
|
+
class SDK
|
5
|
+
##
|
6
|
+
# For each SDK response object (i.e. Device), we have a Model class. We're using OpenStruct.
|
7
|
+
#
|
8
|
+
class Model < OpenStruct
|
9
|
+
##
|
10
|
+
# Initialize a new Model instance.
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# module Spotify
|
14
|
+
# class SDK
|
15
|
+
# class User < Model
|
16
|
+
# end
|
17
|
+
# end
|
18
|
+
# end
|
19
|
+
#
|
20
|
+
# @base = Spotify::SDK::Base.new(@sdk)
|
21
|
+
# @user = Spotify::SDK::User.new({ username: "hi" }, @base)
|
22
|
+
# @user.username # => "hi"
|
23
|
+
#
|
24
|
+
# @param [Hash] payload The response payload.
|
25
|
+
# @param [Spotify::SDK] parent The SDK object for context.
|
26
|
+
#
|
27
|
+
def initialize(payload, parent)
|
28
|
+
@payload = payload
|
29
|
+
raise "Expected payload to be of Hash type" unless @payload.instance_of?(Hash)
|
30
|
+
|
31
|
+
@parent = parent
|
32
|
+
raise "Expected parent to be of Spotify::SDK::Base type" unless @parent.is_a?(Spotify::SDK::Base)
|
33
|
+
|
34
|
+
super(payload)
|
35
|
+
end
|
36
|
+
|
37
|
+
def to_h # :nodoc:
|
38
|
+
super.to_h.except(:parent)
|
39
|
+
end
|
40
|
+
|
41
|
+
def to_json(*_args) # :nodoc:
|
42
|
+
to_h.to_json
|
43
|
+
end
|
44
|
+
|
45
|
+
##
|
46
|
+
# A reference to Spotify::SDK::Connect.
|
47
|
+
#
|
48
|
+
attr_reader :parent
|
49
|
+
|
50
|
+
class << self
|
51
|
+
def alias_attribute(new_method, attribute) # :nodoc:
|
52
|
+
if attribute.is_a?(Symbol)
|
53
|
+
define_method(new_method) { send(attribute) }
|
54
|
+
else
|
55
|
+
define_method(new_method) do
|
56
|
+
self.class.hash_selector(to_h, attribute)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def hash_selector(hash, selector)
|
62
|
+
hash.deep_symbolize_keys!
|
63
|
+
segments = selector.split(".")
|
64
|
+
hash = hash[segments.shift.try(:to_sym)] while segments.any?
|
65
|
+
hash
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Spotify
|
4
|
+
##
|
5
|
+
# The definitive version of spotify-ruby.
|
6
|
+
#
|
7
|
+
# We follow the Semantic Versioning convention.
|
8
|
+
# See https://semver.org/ for more information
|
9
|
+
#
|
10
|
+
# Summary:
|
11
|
+
# MAJOR version when you make incompatible API changes,
|
12
|
+
# MINOR version when you add functionality in a backwards-compatible manner, and
|
13
|
+
# PATCH version when you make backwards-compatible bug fixes.
|
14
|
+
#
|
15
|
+
VERSION = "0.2.5"
|
16
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path("lib", __dir__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require "spotify/version"
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = "spotify-ruby-kev"
|
9
|
+
spec.version = Spotify::VERSION
|
10
|
+
spec.authors = ["Kevin Heffernan"]
|
11
|
+
spec.email = ["kevin.heffernan97@gmail.com"]
|
12
|
+
|
13
|
+
spec.summary = "The developer-friendly, opinionated Ruby SDK for Spotify."
|
14
|
+
spec.description = [
|
15
|
+
"Build integrations with the different Spotify APIs",
|
16
|
+
"inside of your application.",
|
17
|
+
"For more information, visit https://developer.spotify.com"
|
18
|
+
].join(" ")
|
19
|
+
spec.homepage = "https://github.com/kev737/spotify-ruby"
|
20
|
+
spec.license = "MIT"
|
21
|
+
|
22
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
23
|
+
f.match(%r{^(assets|bin|coverage|doc|docs|html|examples|test|spec|features)/})
|
24
|
+
end
|
25
|
+
|
26
|
+
spec.metadata["yard.run"] = "yri"
|
27
|
+
|
28
|
+
# We don't support executables just yet. Comment this out if you're building one.
|
29
|
+
# spec.bindir = "exe"
|
30
|
+
# spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
|
31
|
+
# spec.require_paths = ["lib"]
|
32
|
+
|
33
|
+
# Tooling
|
34
|
+
spec.add_development_dependency "bundler", "~> 2.1.4", ">= 2.1.4"
|
35
|
+
spec.add_development_dependency "rake", "~> 12.1"
|
36
|
+
|
37
|
+
# Testing
|
38
|
+
spec.add_development_dependency "climate_control", "~> 0.2"
|
39
|
+
spec.add_development_dependency "factory_bot", "~> 5.0.0"
|
40
|
+
spec.add_development_dependency "rspec", "~> 3.8"
|
41
|
+
spec.add_development_dependency "rspec-collection_matchers", "~> 1.1", ">= 1.1.2"
|
42
|
+
spec.add_development_dependency "rubocop", "~> 0.71.0"
|
43
|
+
spec.add_development_dependency "simplecov"
|
44
|
+
spec.add_development_dependency "webmock", "~> 3.6"
|
45
|
+
|
46
|
+
# Developer Productivity
|
47
|
+
spec.add_development_dependency "pry", "~> 0.12"
|
48
|
+
|
49
|
+
# Documentation
|
50
|
+
spec.add_development_dependency "yard"
|
51
|
+
spec.add_development_dependency "yard-api"
|
52
|
+
|
53
|
+
# Runtime Dependencies
|
54
|
+
spec.add_runtime_dependency "activesupport", "~> 6.0"
|
55
|
+
spec.add_runtime_dependency "httparty", ">= 0.15.6", "< 0.18"
|
56
|
+
end
|
metadata
ADDED
@@ -0,0 +1,291 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: spotify-ruby-kev
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.5
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kevin Heffernan
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-05-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.1.4
|
20
|
+
- - "~>"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.1.4
|
23
|
+
type: :development
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.1.4
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 2.1.4
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: rake
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '12.1'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '12.1'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: climate_control
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.2'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0.2'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: factory_bot
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 5.0.0
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 5.0.0
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rspec
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '3.8'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '3.8'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: rspec-collection_matchers
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '1.1'
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 1.1.2
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '1.1'
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 1.1.2
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: rubocop
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - "~>"
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: 0.71.0
|
116
|
+
type: :development
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - "~>"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: 0.71.0
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: simplecov
|
125
|
+
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
130
|
+
type: :development
|
131
|
+
prerelease: false
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - ">="
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
- !ruby/object:Gem::Dependency
|
138
|
+
name: webmock
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - "~>"
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '3.6'
|
144
|
+
type: :development
|
145
|
+
prerelease: false
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - "~>"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '3.6'
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: pry
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - "~>"
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0.12'
|
158
|
+
type: :development
|
159
|
+
prerelease: false
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - "~>"
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '0.12'
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: yard
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0'
|
172
|
+
type: :development
|
173
|
+
prerelease: false
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: yard-api
|
181
|
+
requirement: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
type: :development
|
187
|
+
prerelease: false
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: activesupport
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - "~>"
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '6.0'
|
200
|
+
type: :runtime
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - "~>"
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '6.0'
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: httparty
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - ">="
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: 0.15.6
|
214
|
+
- - "<"
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0.18'
|
217
|
+
type: :runtime
|
218
|
+
prerelease: false
|
219
|
+
version_requirements: !ruby/object:Gem::Requirement
|
220
|
+
requirements:
|
221
|
+
- - ">="
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: 0.15.6
|
224
|
+
- - "<"
|
225
|
+
- !ruby/object:Gem::Version
|
226
|
+
version: '0.18'
|
227
|
+
description: Build integrations with the different Spotify APIs inside of your application.
|
228
|
+
For more information, visit https://developer.spotify.com
|
229
|
+
email:
|
230
|
+
- kevin.heffernan97@gmail.com
|
231
|
+
executables: []
|
232
|
+
extensions: []
|
233
|
+
extra_rdoc_files: []
|
234
|
+
files:
|
235
|
+
- ".github/CONTRIBUTING.md"
|
236
|
+
- ".github/ISSUE_TEMPLATE.md"
|
237
|
+
- ".gitignore"
|
238
|
+
- ".rspec"
|
239
|
+
- ".rubocop.yml"
|
240
|
+
- ".ruby-version"
|
241
|
+
- ".rvm-version"
|
242
|
+
- ".travis.yml"
|
243
|
+
- CODE_OF_CONDUCT.md
|
244
|
+
- COVERAGE.md
|
245
|
+
- Gemfile
|
246
|
+
- LICENSE
|
247
|
+
- README.md
|
248
|
+
- Rakefile
|
249
|
+
- lib/spotify.rb
|
250
|
+
- lib/spotify/accounts.rb
|
251
|
+
- lib/spotify/accounts/session.rb
|
252
|
+
- lib/spotify/sdk.rb
|
253
|
+
- lib/spotify/sdk/.keep
|
254
|
+
- lib/spotify/sdk/album.rb
|
255
|
+
- lib/spotify/sdk/artist.rb
|
256
|
+
- lib/spotify/sdk/base.rb
|
257
|
+
- lib/spotify/sdk/connect.rb
|
258
|
+
- lib/spotify/sdk/connect/device.rb
|
259
|
+
- lib/spotify/sdk/connect/playback_state.rb
|
260
|
+
- lib/spotify/sdk/image.rb
|
261
|
+
- lib/spotify/sdk/item.rb
|
262
|
+
- lib/spotify/sdk/me.rb
|
263
|
+
- lib/spotify/sdk/me/info.rb
|
264
|
+
- lib/spotify/sdk/model.rb
|
265
|
+
- lib/spotify/version.rb
|
266
|
+
- spotify-ruby-kev.gemspec
|
267
|
+
homepage: https://github.com/kev737/spotify-ruby
|
268
|
+
licenses:
|
269
|
+
- MIT
|
270
|
+
metadata:
|
271
|
+
yard.run: yri
|
272
|
+
post_install_message:
|
273
|
+
rdoc_options: []
|
274
|
+
require_paths:
|
275
|
+
- lib
|
276
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
277
|
+
requirements:
|
278
|
+
- - ">="
|
279
|
+
- !ruby/object:Gem::Version
|
280
|
+
version: '0'
|
281
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
286
|
+
requirements: []
|
287
|
+
rubygems_version: 3.0.3
|
288
|
+
signing_key:
|
289
|
+
specification_version: 4
|
290
|
+
summary: The developer-friendly, opinionated Ruby SDK for Spotify.
|
291
|
+
test_files: []
|