ruby_deezer 0.1.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.
@@ -0,0 +1,23 @@
1
+ {
2
+ "search":{
3
+ "total_results":29,
4
+ "start_index":10,
5
+ "items_per_page":2,
6
+ "artists":{
7
+ "artist":[
8
+ {
9
+ "id":"521459",
10
+ "name":"50 Cent, Dr. Dre, Eminem",
11
+ "url":"http:\/\/www.deezer.com\/en\/music\/50-cent-dr-dre-eminem",
12
+ "image":"http:\/\/cdn-images.deezer.com\/images\/artist\/\/90x90-000000-80-0-0.jpg"
13
+ },
14
+ {
15
+ "id":"819679",
16
+ "name":"Bobby Creekwater, Eminem, Obie Trice, Nate Dogg",
17
+ "url":"http:\/\/www.deezer.com\/en\/music\/bobby-creekwater-eminem-obie-trice-nate-dogg",
18
+ "image":"http:\/\/cdn-images.deezer.com\/images\/artist\/\/90x90-000000-80-0-0.jpg"
19
+ }
20
+ ]
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "track":{
3
+ "artist":{
4
+ "id":"12",
5
+ "name":"Black Eyed Peas",
6
+ "url":"http:\/\/www.deezer.com\/en\/music\/black-eyed-peas",
7
+ "image":"http:\/\/cdn-images.deezer.com\/images\/artist\/0aff1590d81639550336f3edf3cf30df\/90x90-000000-80-0-0.jpg"
8
+ },
9
+ "album":{
10
+ "id":"12",
11
+ "name":"Monkey Business",
12
+ "url":"http:\/\/www.deezer.com\/en\/music\/black-eyed-peas\/monkey-business-12",
13
+ "image":"http:\/\/cdn-images.deezer.com\/images\/cover\/b51d0b5905b5aedf4f2bd93ad95a57db\/150x150-000000-80-0-0.jpg"
14
+ },
15
+ "id":"13",
16
+ "name":"Don't Lie",
17
+ "url":"http:\/\/www.deezer.com\/listen-13",
18
+ "duration":"219",
19
+ "rank":"0"
20
+ }
21
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "search":{
3
+ "total_results":500,
4
+ "start_index":10,
5
+ "items_per_page":3,
6
+ "tracks":{
7
+ "track":[
8
+ {
9
+ "artist":{
10
+ "id":"13",
11
+ "name":"Eminem",
12
+ "url":"http:\/\/www.deezer.com\/en\/music\/eminem",
13
+ "image":"http:\/\/cdn-images.deezer.com\/images\/artist\/cb286a88a55a10847d1ac0f47798380c\/90x90-000000-80-0-0.jpg"
14
+ },
15
+ "album":{
16
+ "id":"103248",
17
+ "name":"The Eminem Show",
18
+ "url":"http:\/\/www.deezer.com\/en\/music\/eminem\/the-eminem-show-103248",
19
+ "image":"http:\/\/cdn-images.deezer.com\/images\/cover\/ec3c8ed67427064c70f67e5815b74cef\/150x150-000000-80-0-0.jpg"
20
+ },
21
+ "id":"916427",
22
+ "name":"Superman",
23
+ "url":"http:\/\/www.deezer.com\/listen-916427",
24
+ "duration":"350",
25
+ "rank":"858589"
26
+ },
27
+ {
28
+ "artist":{
29
+ "id":"511299",
30
+ "name":"Dr. Dre, 50 Cent, Eminem",
31
+ "url":"http:\/\/www.deezer.com\/en\/music\/dr-dre-50-cent-eminem",
32
+ "image":"http:\/\/cdn-images.deezer.com\/images\/artist\/\/90x90-000000-80-0-0.jpg"
33
+ },
34
+ "album":{
35
+ "id":"271960",
36
+ "name":"Crack A Bottle",
37
+ "url":"http:\/\/www.deezer.com\/en\/music\/dr-dre-50-cent-eminem\/crack-a-bottle-271960",
38
+ "image":"http:\/\/cdn-images.deezer.com\/images\/cover\/\/150x150-000000-80-0-0.jpg"
39
+ },
40
+ "id":"2951016",
41
+ "name":"Crack A Bottle",
42
+ "url":"http:\/\/www.deezer.com\/listen-2951016",
43
+ "duration":"315",
44
+ "rank":"857723"
45
+ },
46
+ {
47
+ "artist":{
48
+ "id":"13",
49
+ "name":"Eminem",
50
+ "url":"http:\/\/www.deezer.com\/en\/music\/eminem",
51
+ "image":"http:\/\/cdn-images.deezer.com\/images\/artist\/cb286a88a55a10847d1ac0f47798380c\/90x90-000000-80-0-0.jpg"
52
+ },
53
+ "album":{
54
+ "id":"595243",
55
+ "name":"Recovery",
56
+ "url":"http:\/\/www.deezer.com\/en\/music\/eminem\/recovery-595243",
57
+ "image":"http:\/\/cdn-images.deezer.com\/images\/cover\/be682506145061814eddee648edb7c59\/150x150-000000-80-0-0.jpg"
58
+ },
59
+ "id":"6461426",
60
+ "name":"Cold Wind Blows",
61
+ "url":"http:\/\/www.deezer.com\/listen-6461426",
62
+ "duration":"304",
63
+ "rank":"855319"
64
+ }
65
+ ]
66
+ }
67
+ }
68
+ }
data/test/helper.rb ADDED
@@ -0,0 +1,18 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+
12
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ require 'ruby_deezer'
15
+ require 'fakeweb'
16
+
17
+ class Test::Unit::TestCase
18
+ end
@@ -0,0 +1,29 @@
1
+ require 'helper'
2
+
3
+ class TestAlbum < Test::Unit::TestCase
4
+
5
+ def test_should_lookup_album
6
+ FakeWeb.register_uri(:get, %r|http://api-v3.deezer.com/1.0|, :body => File.read(File.dirname(__FILE__) + "/../fixtures/album.json"))
7
+ album = RubyDeezer::Album.find(1)
8
+
9
+ assert_equal "Vapeurs Toxiques", album.name
10
+ assert_equal 1, album.nb_disks
11
+ assert_equal 0, album.nb_tracks
12
+ assert_equal 64, album.id
13
+ assert_equal "http://www.deezer.com/en/music/don-choa/vapeurs-toxiques-64", album.url
14
+ assert_equal "http://cdn-images.deezer.com/images/cover/162922e3732a312053f14bb47480ce84/150x150-000000-80-0-0.jpg", album.image
15
+ assert album.tracks.empty?
16
+ end
17
+
18
+ def test_should_search_albums
19
+ FakeWeb.register_uri(:get, %r|http://api-v3.deezer.com/1.0|, :body => File.read(File.dirname(__FILE__) + "/../fixtures/albums.json"))
20
+ albums = RubyDeezer::Album.search("emimen")
21
+
22
+ assert_equal 2, albums.size
23
+ assert_equal 1, albums.current_page
24
+ assert_equal 10, albums.total_pages
25
+ assert_equal "Recovery", albums[0].name
26
+ assert_equal "Relapse", albums[1].name
27
+ end
28
+
29
+ end
@@ -0,0 +1,29 @@
1
+ require 'helper'
2
+
3
+ class TestArtist < Test::Unit::TestCase
4
+
5
+ def test_should_lookup_artist
6
+ FakeWeb.register_uri(:get, %r|http://api-v3.deezer.com/1.0|, :body => File.read(File.dirname(__FILE__) + "/../fixtures/artist.json"))
7
+ artist = RubyDeezer::Artist.find(1)
8
+
9
+ assert_equal "Eminem", artist.name
10
+ assert_equal 13, artist.id
11
+ assert_equal "http://cdn-images.deezer.com/images/artist/cb286a88a55a10847d1ac0f47798380c/90x90-000000-80-0-0.jpg", artist.image
12
+ assert_equal "http://www.deezer.com/en/music/eminem", artist.url
13
+ assert_equal 10, artist.similar_artists.size
14
+ assert_equal 10, artist.discography.size
15
+ assert_equal 10, artist.albums.size
16
+ end
17
+
18
+ def test_should_search_artists
19
+ FakeWeb.register_uri(:get, %r|http://api-v3.deezer.com/1.0|, :body => File.read(File.dirname(__FILE__) + "/../fixtures/artists.json"))
20
+ artists = RubyDeezer::Artist.search("emimen")
21
+
22
+ assert_equal "50 Cent, Dr. Dre, Eminem", artists[0].name
23
+ assert_equal "Bobby Creekwater, Eminem, Obie Trice, Nate Dogg", artists[1].name
24
+ assert_equal 2, artists.size
25
+ assert_equal 1, artists.current_page
26
+ assert_equal 3, artists.total_pages
27
+ end
28
+
29
+ end
@@ -0,0 +1,36 @@
1
+ require 'helper'
2
+
3
+ class TestTrack < Test::Unit::TestCase
4
+
5
+ def test_should_lookup_track
6
+ FakeWeb.register_uri(:get, %r|http://api-v3.deezer.com/1.0|, :body => File.read(File.dirname(__FILE__) + "/../fixtures/track.json"))
7
+ track = RubyDeezer::Track.find(1)
8
+
9
+ assert_equal "Don't Lie", track.name
10
+ assert_equal 13, track.id
11
+ assert_equal 219, track.duration
12
+ assert_equal 0, track.rank
13
+ assert_equal 'http://www.deezer.com/listen-13', track.url
14
+ assert_equal "Black Eyed Peas", track.artist.name
15
+ assert_equal "Monkey Business", track.album.name
16
+ end
17
+
18
+ def test_should_search_tracks
19
+ FakeWeb.register_uri(:get, %r|http://api-v3.deezer.com/1.0|, :body => File.read(File.dirname(__FILE__) + "/../fixtures/tracks.json"))
20
+ tracks = RubyDeezer::Track.search("emimen")
21
+
22
+ assert_equal 3, tracks.size
23
+ assert_equal 1, tracks.current_page
24
+ assert_equal 50, tracks.total_pages
25
+ assert_equal "Superman", tracks[0].name
26
+ assert_equal "Crack A Bottle", tracks[1].name
27
+ assert_equal "Cold Wind Blows", tracks[2].name
28
+ assert_equal "Eminem", tracks[0].artist.name
29
+ assert_equal "Dr. Dre, 50 Cent, Eminem", tracks[1].artist.name
30
+ assert_equal "Eminem", tracks[2].artist.name
31
+ assert_equal "The Eminem Show", tracks[0].album.name
32
+ assert_equal "Crack A Bottle", tracks[1].album.name
33
+ assert_equal "Recovery", tracks[2].album.name
34
+ end
35
+
36
+ end
metadata ADDED
@@ -0,0 +1,185 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruby_deezer
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - Aleksandr Lossenko
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-03-04 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ type: :runtime
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - "="
27
+ - !ruby/object:Gem::Version
28
+ hash: 9
29
+ segments:
30
+ - 2
31
+ - 3
32
+ - 5
33
+ version: 2.3.5
34
+ requirement: *id001
35
+ prerelease: false
36
+ name: activesupport
37
+ - !ruby/object:Gem::Dependency
38
+ type: :runtime
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 11
45
+ segments:
46
+ - 0
47
+ - 7
48
+ - 4
49
+ version: 0.7.4
50
+ requirement: *id002
51
+ prerelease: false
52
+ name: httparty
53
+ - !ruby/object:Gem::Dependency
54
+ type: :runtime
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - "="
59
+ - !ruby/object:Gem::Version
60
+ hash: 29
61
+ segments:
62
+ - 2
63
+ - 3
64
+ - 15
65
+ version: 2.3.15
66
+ requirement: *id003
67
+ prerelease: false
68
+ name: will_paginate
69
+ - !ruby/object:Gem::Dependency
70
+ type: :development
71
+ version_requirements: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ hash: 23
77
+ segments:
78
+ - 1
79
+ - 0
80
+ - 0
81
+ version: 1.0.0
82
+ requirement: *id004
83
+ prerelease: false
84
+ name: bundler
85
+ - !ruby/object:Gem::Dependency
86
+ type: :development
87
+ version_requirements: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ hash: 7
93
+ segments:
94
+ - 1
95
+ - 5
96
+ - 2
97
+ version: 1.5.2
98
+ requirement: *id005
99
+ prerelease: false
100
+ name: jeweler
101
+ - !ruby/object:Gem::Dependency
102
+ type: :development
103
+ version_requirements: &id006 !ruby/object:Gem::Requirement
104
+ none: false
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ hash: 3
109
+ segments:
110
+ - 0
111
+ version: "0"
112
+ requirement: *id006
113
+ prerelease: false
114
+ name: fakeweb
115
+ description: Search for artists, albums and tracks with Deezer API
116
+ email: alossenko@gmail.com
117
+ executables: []
118
+
119
+ extensions: []
120
+
121
+ extra_rdoc_files:
122
+ - LICENSE.txt
123
+ - README.rdoc
124
+ files:
125
+ - Gemfile
126
+ - Gemfile.lock
127
+ - LICENSE.txt
128
+ - README.rdoc
129
+ - Rakefile
130
+ - VERSION
131
+ - lib/ruby_deezer.rb
132
+ - lib/ruby_deezer/album.rb
133
+ - lib/ruby_deezer/artist.rb
134
+ - lib/ruby_deezer/track.rb
135
+ - pkg/ruby_deezer-0.1.0.gem
136
+ - ruby_deezer.gemspec
137
+ - test/fixtures/album.json
138
+ - test/fixtures/albums.json
139
+ - test/fixtures/artist.json
140
+ - test/fixtures/artists.json
141
+ - test/fixtures/track.json
142
+ - test/fixtures/tracks.json
143
+ - test/helper.rb
144
+ - test/unit/test_album.rb
145
+ - test/unit/test_artist.rb
146
+ - test/unit/test_track.rb
147
+ has_rdoc: true
148
+ homepage: http://github.com/egze/ruby_deezer
149
+ licenses:
150
+ - MIT
151
+ post_install_message:
152
+ rdoc_options: []
153
+
154
+ require_paths:
155
+ - lib
156
+ required_ruby_version: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ hash: 3
162
+ segments:
163
+ - 0
164
+ version: "0"
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ hash: 3
171
+ segments:
172
+ - 0
173
+ version: "0"
174
+ requirements: []
175
+
176
+ rubyforge_project:
177
+ rubygems_version: 1.4.2
178
+ signing_key:
179
+ specification_version: 3
180
+ summary: RubyDeezer is a ruby wrapper for the Deezer APIs
181
+ test_files:
182
+ - test/helper.rb
183
+ - test/unit/test_album.rb
184
+ - test/unit/test_artist.rb
185
+ - test/unit/test_track.rb