spotify-ruby-api 0.7.0
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/.gitignore +9 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/Gemfile +7 -0
- data/LICENSE +21 -0
- data/README.md +119 -0
- data/Rakefile +7 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/spotify/api/album.rb +164 -0
- data/lib/spotify/api/artist.rb +248 -0
- data/lib/spotify/api/base.rb +150 -0
- data/lib/spotify/api/track.rb +127 -0
- data/lib/spotify/api/user.rb +58 -0
- data/lib/spotify/api/version.rb +5 -0
- data/lib/spotify/api.rb +12 -0
- data/lib/spotify/models/album.rb +42 -0
- data/lib/spotify/models/artist.rb +34 -0
- data/lib/spotify/models/category.rb +23 -0
- data/lib/spotify/models/copyright.rb +27 -0
- data/lib/spotify/models/cursor.rb +19 -0
- data/lib/spotify/models/cursorbased_paging.rb +24 -0
- data/lib/spotify/models/error.rb +122 -0
- data/lib/spotify/models/external_id.rb +41 -0
- data/lib/spotify/models/external_url.rb +39 -0
- data/lib/spotify/models/follower.rb +27 -0
- data/lib/spotify/models/full/album.rb +46 -0
- data/lib/spotify/models/full/artist.rb +37 -0
- data/lib/spotify/models/full/track.rb +34 -0
- data/lib/spotify/models/full/user.rb +31 -0
- data/lib/spotify/models/full.rb +11 -0
- data/lib/spotify/models/image.rb +28 -0
- data/lib/spotify/models/paging.rb +38 -0
- data/lib/spotify/models/playlist_track.rb +24 -0
- data/lib/spotify/models/saved_album.rb +22 -0
- data/lib/spotify/models/saved_track.rb +22 -0
- data/lib/spotify/models/simplified/album.rb +23 -0
- data/lib/spotify/models/simplified/artist.rb +23 -0
- data/lib/spotify/models/simplified/track.rb +23 -0
- data/lib/spotify/models/simplified/user.rb +23 -0
- data/lib/spotify/models/simplified.rb +11 -0
- data/lib/spotify/models/track.rb +50 -0
- data/lib/spotify/models/track_link.rb +33 -0
- data/lib/spotify/models/user.rb +41 -0
- data/lib/spotify/models.rb +27 -0
- data/lib/spotify.rb +6 -0
- data/spotify-api.gemspec +34 -0
- metadata +160 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class ExternalURL
|
6
|
+
|
7
|
+
#
|
8
|
+
# Sets the arguments to its variables.
|
9
|
+
#
|
10
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
11
|
+
#
|
12
|
+
# @return [ExternalURL] an external url object.
|
13
|
+
#
|
14
|
+
def initialize(args = {})
|
15
|
+
args = Hash(args).with_indifferent_access
|
16
|
+
|
17
|
+
hsh = {
|
18
|
+
spotify: args[:spotify]
|
19
|
+
}
|
20
|
+
|
21
|
+
hsh = hsh.reject { |_, v| v.blank? }
|
22
|
+
|
23
|
+
if hsh.present?
|
24
|
+
# Generates the keys dynamically
|
25
|
+
hsh.each do |k, v|
|
26
|
+
key = k
|
27
|
+
value = v
|
28
|
+
|
29
|
+
eval("@#{key} = value")
|
30
|
+
class_eval { attr_reader key.to_sym }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class Follower
|
6
|
+
|
7
|
+
attr_reader :href, :total
|
8
|
+
|
9
|
+
#
|
10
|
+
# Sets the arguments to its variables.
|
11
|
+
#
|
12
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
13
|
+
#
|
14
|
+
# @return [Follower] a follower object.
|
15
|
+
#
|
16
|
+
def initialize(args = {})
|
17
|
+
args = Hash(args).with_indifferent_access
|
18
|
+
|
19
|
+
@href = args[:href]
|
20
|
+
@total = args[:total]
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class Full::Album < Models::Album
|
6
|
+
|
7
|
+
attr_reader :artists, :copyrights, :external_ids, :popularity,
|
8
|
+
:release_date, :release_date_precision, :tracks
|
9
|
+
|
10
|
+
#
|
11
|
+
# Sets the arguments to its variables.
|
12
|
+
#
|
13
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
14
|
+
#
|
15
|
+
# @return [Full::Album] a full album object.
|
16
|
+
#
|
17
|
+
def initialize(args = {})
|
18
|
+
super(args)
|
19
|
+
|
20
|
+
args = Hash(args).with_indifferent_access
|
21
|
+
|
22
|
+
# Arrays
|
23
|
+
artists = Array(args[:artists]).map { |a| Artist.new(a) }
|
24
|
+
copyrights = Array(args[:copyrights]).map { |c| Copyright.new(c) }
|
25
|
+
|
26
|
+
# Objects
|
27
|
+
external_ids = Spotify::Models::ExternalID.new(args[:external_ids])
|
28
|
+
|
29
|
+
# Paging items
|
30
|
+
item = Spotify::Models::Simplified::Track
|
31
|
+
tracks = Spotify::Models::Paging.new(args[:tracks], item)
|
32
|
+
|
33
|
+
@artists = artists
|
34
|
+
@copyrights = copyrights
|
35
|
+
@external_ids = external_ids
|
36
|
+
@popularity = args[:popularity]
|
37
|
+
@release_date = args[:release_date]
|
38
|
+
@release_date_precision = args[:release_date_precision]
|
39
|
+
@tracks = tracks
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class Full::Artist < Models::Artist
|
6
|
+
|
7
|
+
attr_reader :followers, :genres, :images, :popularity
|
8
|
+
|
9
|
+
#
|
10
|
+
# Sets the arguments to its variables.
|
11
|
+
#
|
12
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
13
|
+
#
|
14
|
+
# @return [Full::Artist] a full album object.
|
15
|
+
#
|
16
|
+
def initialize(args = {})
|
17
|
+
super(args)
|
18
|
+
|
19
|
+
args = Hash(args).with_indifferent_access
|
20
|
+
|
21
|
+
# Arrays
|
22
|
+
images = Array(args[:images]).map { |i| Spotify::Models::Image.new(i) }
|
23
|
+
|
24
|
+
# Objects
|
25
|
+
follower = Spotify::Models::Follower.new(args[:followers])
|
26
|
+
|
27
|
+
@followers = follower
|
28
|
+
@genres = args[:genres]
|
29
|
+
@images = images
|
30
|
+
@popularity = args[:popularity]
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class Full::Track < Models::Track
|
6
|
+
|
7
|
+
attr_reader :album, :external_ids, :popularity
|
8
|
+
|
9
|
+
#
|
10
|
+
# Sets the arguments to its variables.
|
11
|
+
#
|
12
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
13
|
+
#
|
14
|
+
# @return [Full::Track] a full track object.
|
15
|
+
#
|
16
|
+
def initialize(args = {})
|
17
|
+
super(args)
|
18
|
+
|
19
|
+
args = Hash(args).with_indifferent_access
|
20
|
+
|
21
|
+
# Objects
|
22
|
+
album = Spotify::Models::Simplified::Album.new(args[:album])
|
23
|
+
external_ids = Spotify::Models::ExternalID.new(args[:external_ids])
|
24
|
+
|
25
|
+
@album = album
|
26
|
+
@external_ids = external_ids
|
27
|
+
@popularity = args[:popularity]
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class Full::User < Models::User
|
6
|
+
|
7
|
+
attr_reader :birthdate, :country, :email, :product
|
8
|
+
|
9
|
+
#
|
10
|
+
# Sets the arguments to its variables.
|
11
|
+
#
|
12
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
13
|
+
#
|
14
|
+
# @return [Full::Artist] a full user object.
|
15
|
+
#
|
16
|
+
def initialize(args = {})
|
17
|
+
super(args)
|
18
|
+
|
19
|
+
args = Hash(args).with_indifferent_access
|
20
|
+
|
21
|
+
@birthdate = args[:birthdate]
|
22
|
+
@country = args[:country]
|
23
|
+
@email = args[:email]
|
24
|
+
@product = args[:product]
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class Image
|
6
|
+
|
7
|
+
attr_reader :height, :url, :width
|
8
|
+
|
9
|
+
#
|
10
|
+
# Sets the arguments to its variables.
|
11
|
+
#
|
12
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
13
|
+
#
|
14
|
+
# @return [Image] an image object.
|
15
|
+
#
|
16
|
+
def initialize(args = {})
|
17
|
+
args = Hash(args).with_indifferent_access
|
18
|
+
|
19
|
+
@height = args[:height]
|
20
|
+
@url = args[:url]
|
21
|
+
@width = args[:width]
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class Paging
|
6
|
+
|
7
|
+
attr_reader :href, :items, :limit, :next, :offset, :previous, :total
|
8
|
+
|
9
|
+
#
|
10
|
+
# Sets the arguments to its variables.
|
11
|
+
#
|
12
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
13
|
+
# @param [Spotify::Model] klass the model's class that is represented on
|
14
|
+
# items's array.
|
15
|
+
#
|
16
|
+
# @return [Paging] a paging object containing the an array of the given
|
17
|
+
# model.
|
18
|
+
#
|
19
|
+
def initialize(args = {}, klass)
|
20
|
+
args = Hash(args).with_indifferent_access
|
21
|
+
|
22
|
+
# Arrays
|
23
|
+
items = Array(args[:items]).map { |i| klass.new(i) }
|
24
|
+
|
25
|
+
@href = args[:href]
|
26
|
+
@items = items
|
27
|
+
@limit = args[:limit]
|
28
|
+
@next = args[:next]
|
29
|
+
@offset = args[:offset]
|
30
|
+
@previous = args[:previous]
|
31
|
+
@total = args[:total]
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class PlaylistTrack
|
6
|
+
|
7
|
+
attr_reader :added_at, :added_by, :is_local, :track
|
8
|
+
|
9
|
+
def initialize(args = {})
|
10
|
+
args = args.with_indifferent_access
|
11
|
+
|
12
|
+
@is_local = args[:is_local]
|
13
|
+
@track = Track.new(args[:name])
|
14
|
+
|
15
|
+
# HACK: Using JSON while the other classes aren't available.
|
16
|
+
@added_at = args[:added_at]
|
17
|
+
@added_by = args[:added_by]
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class SavedAlbum
|
6
|
+
|
7
|
+
attr_reader :added_at, :album
|
8
|
+
|
9
|
+
def initialize(args = {})
|
10
|
+
args = args.with_indifferent_access
|
11
|
+
|
12
|
+
@album = Album.new(args[:name])
|
13
|
+
|
14
|
+
# HACK: Using JSON while the other classes aren't available.
|
15
|
+
@added_at = args[:added_at]
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class SavedTrack
|
6
|
+
|
7
|
+
attr_reader :added_at, :track
|
8
|
+
|
9
|
+
def initialize(args = {})
|
10
|
+
args = args.with_indifferent_access
|
11
|
+
|
12
|
+
@track = Track.new(args[:name])
|
13
|
+
|
14
|
+
# HACK: Using JSON while the other classes aren't available.
|
15
|
+
@added_at = args[:added_at]
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
#
|
6
|
+
# This class is kept only to provide a better visualization.
|
7
|
+
#
|
8
|
+
class Simplified::Album < Models::Album
|
9
|
+
|
10
|
+
#
|
11
|
+
# Sets the arguments to its variables.
|
12
|
+
#
|
13
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
14
|
+
#
|
15
|
+
# @return [Simplified::Album] a simplified album object.
|
16
|
+
#
|
17
|
+
def initialize(args = {}); super(args); end;
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
#
|
6
|
+
# This class is kept only to provide a better visualization.
|
7
|
+
#
|
8
|
+
class Simplified::Artist < Models::Artist
|
9
|
+
|
10
|
+
#
|
11
|
+
# Sets the arguments to its variables.
|
12
|
+
#
|
13
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
14
|
+
#
|
15
|
+
# @return [Simplified::Artist] a simplified artist object.
|
16
|
+
#
|
17
|
+
def initialize(args = {}); super(args); end;
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
#
|
6
|
+
# This class is kept only to provide a better visualization.
|
7
|
+
#
|
8
|
+
class Simplified::Track < Models::Track
|
9
|
+
|
10
|
+
#
|
11
|
+
# Sets the arguments to its variables.
|
12
|
+
#
|
13
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
14
|
+
#
|
15
|
+
# @return [Simplified::Track] a simplified track object.
|
16
|
+
#
|
17
|
+
def initialize(args = {}); super(args); end;
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
#
|
6
|
+
# This class is kept only to provide a better visualization.
|
7
|
+
#
|
8
|
+
class Simplified::User < Models::User
|
9
|
+
|
10
|
+
#
|
11
|
+
# Sets the arguments to its variables.
|
12
|
+
#
|
13
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
14
|
+
#
|
15
|
+
# @return [Simplified::User] a simplified user object.
|
16
|
+
#
|
17
|
+
def initialize(args = {}); super(args); end;
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class Track
|
6
|
+
|
7
|
+
attr_reader :artists, :available_markets, :disc_number, :duration_ms,
|
8
|
+
:explicit, :external_urls, :href, :id, :is_playable, :linked_from,
|
9
|
+
:name, :preview_url, :track_number, :type, :uri
|
10
|
+
|
11
|
+
#
|
12
|
+
# Sets the arguments to its variables.
|
13
|
+
#
|
14
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
15
|
+
#
|
16
|
+
# @return [Track] a track object.
|
17
|
+
#
|
18
|
+
def initialize(args = {})
|
19
|
+
args = Hash(args).with_indifferent_access
|
20
|
+
|
21
|
+
# Arrays
|
22
|
+
artist = Spotify::Models::Simplified::Artist
|
23
|
+
artists = Array(args[:artists]).map { |a| artist.new(a) }
|
24
|
+
|
25
|
+
# Objects
|
26
|
+
external_urls = Spotify::Models::ExternalURL.new(args[:external_urls])
|
27
|
+
track_link = Spotify::Models::TrackLink.new(args[:linked_from])
|
28
|
+
|
29
|
+
@artists = artists
|
30
|
+
@available_markets = args[:available_markets]
|
31
|
+
@disc_number = args[:disc_number]
|
32
|
+
@duration_ms = args[:duration_ms]
|
33
|
+
@explicit = args[:explicit]
|
34
|
+
@external_urls = external_urls
|
35
|
+
@href = args[:href]
|
36
|
+
@id = args[:id]
|
37
|
+
@is_playable = args[:is_playable]
|
38
|
+
@linked_from = track_link
|
39
|
+
@name = args[:name]
|
40
|
+
@preview_url = args[:preview_url]
|
41
|
+
@track_number = args[:track_number]
|
42
|
+
@type = args[:type]
|
43
|
+
@uri = args[:uri]
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class TrackLink
|
6
|
+
|
7
|
+
attr_reader :external_urls, :href, :id, :type, :uri
|
8
|
+
|
9
|
+
#
|
10
|
+
# Sets the arguments to its variables.
|
11
|
+
#
|
12
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
13
|
+
#
|
14
|
+
# @return [TrackLink] a track link object.
|
15
|
+
#
|
16
|
+
def initialize(args = {})
|
17
|
+
args = Hash(args).with_indifferent_access
|
18
|
+
|
19
|
+
# Objects
|
20
|
+
external_urls = Spotify::Models::ExternalURL.new(args[:external_urls])
|
21
|
+
|
22
|
+
@external_urls = external_urls
|
23
|
+
@href = args[:href]
|
24
|
+
@id = args[:id]
|
25
|
+
@type = args[:type]
|
26
|
+
@uri = args[:uri]
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Spotify
|
2
|
+
|
3
|
+
module Models
|
4
|
+
|
5
|
+
class User
|
6
|
+
|
7
|
+
attr_reader :display_name, :external_urls, :followers, :href,
|
8
|
+
:id, :images, :type, :uri
|
9
|
+
|
10
|
+
#
|
11
|
+
# Sets the arguments to its variables.
|
12
|
+
#
|
13
|
+
# @param [Hash] args the arguments that will be placed on each variable.
|
14
|
+
#
|
15
|
+
# @return [User] an user object.
|
16
|
+
#
|
17
|
+
def initialize(args = {})
|
18
|
+
args = Hash(args).with_indifferent_access
|
19
|
+
|
20
|
+
# Array
|
21
|
+
images = Array(args[:images]).map { |i| Spotify::Models::Image.new(i) }
|
22
|
+
|
23
|
+
# Objects
|
24
|
+
external_urls = Spotify::Models::ExternalURL.new(args[:external_urls])
|
25
|
+
follower = Spotify::Models::Follower.new(args[:followers])
|
26
|
+
|
27
|
+
@display_name = args[:display_name]
|
28
|
+
@external_urls = external_urls
|
29
|
+
@followers = follower
|
30
|
+
@href = args[:href]
|
31
|
+
@id = args[:id]
|
32
|
+
@images = images
|
33
|
+
@type = args[:type]
|
34
|
+
@uri = args[:uri]
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Spotify
|
2
|
+
module Models
|
3
|
+
end
|
4
|
+
end
|
5
|
+
|
6
|
+
require "spotify/models/album"
|
7
|
+
require "spotify/models/artist"
|
8
|
+
require "spotify/models/copyright"
|
9
|
+
require "spotify/models/error"
|
10
|
+
require "spotify/models/external_id"
|
11
|
+
require "spotify/models/external_url"
|
12
|
+
require "spotify/models/follower"
|
13
|
+
require "spotify/models/image"
|
14
|
+
require "spotify/models/paging"
|
15
|
+
require "spotify/models/track"
|
16
|
+
require "spotify/models/track_link"
|
17
|
+
require "spotify/models/user"
|
18
|
+
# require "spotify/models/category"
|
19
|
+
# require "spotify/models/cursor"
|
20
|
+
# require "spotify/models/cursorbased_paging"
|
21
|
+
# require "spotify/models/paging"
|
22
|
+
# require "spotify/models/playlist_track"
|
23
|
+
# require "spotify/models/saved_album"
|
24
|
+
# require "spotify/models/saved_track"
|
25
|
+
|
26
|
+
require "spotify/models/full"
|
27
|
+
require "spotify/models/simplified"
|
data/lib/spotify.rb
ADDED
data/spotify-api.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'spotify/api/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "spotify-ruby-api"
|
8
|
+
spec.version = Spotify::API::VERSION
|
9
|
+
spec.authors = ["Felipe Gadelha Ruoso"]
|
10
|
+
spec.email = ["felipe.gruoso@gmail.com"]
|
11
|
+
|
12
|
+
spec.summary = %q{Uses Spotify API in Ruby.}
|
13
|
+
spec.homepage = "https://github.com/felipegruoso/spotify-api"
|
14
|
+
|
15
|
+
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
16
|
+
# delete this section to allow pushing this gem to any host.
|
17
|
+
# if spec.respond_to?(:metadata)
|
18
|
+
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
19
|
+
# else
|
20
|
+
# raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
21
|
+
# end
|
22
|
+
|
23
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
24
|
+
spec.bindir = "exe"
|
25
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
26
|
+
spec.require_paths = ["lib"]
|
27
|
+
|
28
|
+
spec.add_development_dependency "bundler", "~> 1.9"
|
29
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
30
|
+
spec.add_development_dependency "rspec"
|
31
|
+
|
32
|
+
spec.add_runtime_dependency "activesupport"
|
33
|
+
spec.add_runtime_dependency "json"
|
34
|
+
end
|