spotif-aye 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/Gemfile +4 -0
- data/LICENSE +20 -0
- data/README +0 -0
- data/Rakefile +1 -0
- data/lib/spotif-aye/version.rb +3 -0
- data/lib/spotif-aye.rb +58 -0
- data/spec/artist_spec.rb +53 -0
- data/spec/mock_responses/multiple_results.txt +109 -0
- data/spec/mock_responses/single_result.txt +10 -0
- data/spec/spec_helper.rb +14 -0
- data/spotif-aye.gemspec +32 -0
- metadata +105 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2011 stuliston
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README
ADDED
File without changes
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/lib/spotif-aye.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
require "spotif-aye/version"
|
2
|
+
require 'httparty'
|
3
|
+
|
4
|
+
module SpotifAye
|
5
|
+
|
6
|
+
class Artist
|
7
|
+
include HTTParty
|
8
|
+
|
9
|
+
base_uri 'ws.spotify.com/search/1'
|
10
|
+
|
11
|
+
attr_accessor :name, :href, :popularity
|
12
|
+
|
13
|
+
def initialize(result)
|
14
|
+
self.name = result['name']
|
15
|
+
self.href = result['href']
|
16
|
+
self.popularity = result['popularity'].to_f
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.find(name)
|
20
|
+
response = get("/artist.json?q=#{name}")
|
21
|
+
if response.success?
|
22
|
+
return ResultSet.new(response)
|
23
|
+
else
|
24
|
+
raise response.response
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
class ResultSet
|
31
|
+
|
32
|
+
attr_accessor :num_results, :limit, :offset, :query, :type, :page, :results
|
33
|
+
|
34
|
+
def initialize(response)
|
35
|
+
results = JSON.parse(response)
|
36
|
+
populate_info(results['info'])
|
37
|
+
populate_results(results['artists'])
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def populate_info(info)
|
43
|
+
self.num_results = info['num_results']
|
44
|
+
self.limit = info['limit']
|
45
|
+
self.offset = info['offset']
|
46
|
+
self.query = info['query']
|
47
|
+
self.type = info['type']
|
48
|
+
self.page = info['page']
|
49
|
+
end
|
50
|
+
|
51
|
+
def populate_results(artists)
|
52
|
+
self.results = []
|
53
|
+
artists.each { |a| self.results << Artist.new(a) }
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
data/spec/artist_spec.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SpotifAye::Artist do
|
4
|
+
|
5
|
+
describe 'find' do
|
6
|
+
|
7
|
+
before :each do
|
8
|
+
stub_request(:get, "http://ws.spotify.com/search/1/artist.json?q=stone").to_return(
|
9
|
+
:status => 200,
|
10
|
+
:body => File.new('spec/mock_responses/single_result.txt'),
|
11
|
+
:headers => {})
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should return a result set' do
|
15
|
+
SpotifAye::Artist.find('stone').class.should == SpotifAye::ResultSet
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'ResultSet' do
|
19
|
+
|
20
|
+
it 'should have the correct num_results' do
|
21
|
+
SpotifAye::Artist.find('stone').num_results.should == 1
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should have the correct limit' do
|
25
|
+
SpotifAye::Artist.find('stone').limit.should == 100
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should have the correct off_set' do
|
29
|
+
SpotifAye::Artist.find('stone').offset.should == 0
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should have the correct type' do
|
33
|
+
SpotifAye::Artist.find('stone').type.should == 'artist'
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should have the correct page' do
|
37
|
+
SpotifAye::Artist.find('stone').page.should == 1
|
38
|
+
end
|
39
|
+
|
40
|
+
describe 'results' do
|
41
|
+
|
42
|
+
it 'should be the correct size' do
|
43
|
+
SpotifAye::Artist.find('stone').results.count.should == 1
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should contain artists objects' do
|
47
|
+
SpotifAye::Artist.find('stone').results.first.class.should == SpotifAye::Artist
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
@@ -0,0 +1,109 @@
|
|
1
|
+
{
|
2
|
+
"info":
|
3
|
+
{
|
4
|
+
"num_results": 827, "limit": 100, "offset": 0, "query": "stone", "type": "artist", "page": 1
|
5
|
+
},
|
6
|
+
"artists":
|
7
|
+
[
|
8
|
+
{"href": "spotify:artist:7bvcQXJHkFiN1ppIN3q4fi", "name": "Joss Stone", "popularity": "0.58240"},
|
9
|
+
{"href": "spotify:artist:1lYT0A0LV5DUfxr6doRP3d", "name": "The Stone Roses", "popularity": "0.52377"},
|
10
|
+
{"href": "spotify:artist:4tvKz56Tr39bkhcQUTO0Xr", "name": "Angus & Julia Stone", "popularity": "0.52222"},
|
11
|
+
{"href": "spotify:artist:5m8H6zSadhu1j9Yi04VLqD", "name": "Sly & The Family Stone", "popularity": "0.52089"},
|
12
|
+
{"href": "spotify:artist:4pejUc4iciQfgdX6OKulQn", "name": "Queens Of The Stone Age", "popularity": "0.52471"},
|
13
|
+
{"href": "spotify:artist:2hWr3AjjKOCVmWcwvuT4uM", "name": "Angie Stone", "popularity": "0.48773"},
|
14
|
+
{"href": "spotify:artist:49qiE8dj4JuNdpYGRPdKbF", "name": "Stone Sour", "popularity": "0.37666"},
|
15
|
+
{"href": "spotify:artist:2UazAtjfzqBF0Nho2awK4z", "name": "Stone Temple Pilots", "popularity": "0.38195"},
|
16
|
+
{"href": "spotify:artist:4KJjihrZR0XfiOPB0MdMVz", "name": "Stone", "popularity": "0.29804"},
|
17
|
+
{"href": "spotify:artist:4gZRt9wlRx1IsxT9glJdrc", "name": "Julia Stone", "popularity": "0.28443"},
|
18
|
+
{"href": "spotify:artist:6WMo39FU3nrpSz3qMgRKug", "name": "Black Stone Cherry", "popularity": "0.26933"},
|
19
|
+
{"href": "spotify:artist:6hA6GJ2yJA08ifsAplkUr0", "name": "Sly Stone", "popularity": "0.24741"},
|
20
|
+
{"href": "spotify:artist:0n21JCIbeLnQGAittsding", "name": "Angus and Julia Stone", "popularity": "0.24945"},
|
21
|
+
{"href": "spotify:artist:536osqBGKzeozje8BfcGsa", "name": "Allen Stone", "popularity": "0.22147"},
|
22
|
+
{"href": "spotify:artist:4epBFW4UHEmgjIK5xOrBhk", "name": "Doug Stone", "popularity": "0.21994"},
|
23
|
+
{"href": "spotify:artist:2ZJJwhtLcXYiJGIFbdcz5i", "name": "CJ Stone", "popularity": "0.21322"},
|
24
|
+
{"href": "spotify:artist:40N10exWtaCVUtBMftQn3t", "name": "The Stone Foxes", "popularity": "0.16158"},
|
25
|
+
{"href": "spotify:artist:5kUCjPuHfsYBoSTLzB1Kx9", "name": "Solar Stone", "popularity": "0.12354"},
|
26
|
+
{"href": "spotify:artist:5AqacAhvN8JCsr00Qk9tb7", "name": "Dan Stone", "popularity": "0.11834"},
|
27
|
+
{"href": "spotify:artist:0UnBsBrom4chs5rnjRBtIK", "name": "Rosetta Stone", "popularity": "0.11168"},
|
28
|
+
{"href": "spotify:artist:6yKs08l3FDns2Dbisiwjp2", "name": "Sly and The Family Stone", "popularity": "0.13100"},
|
29
|
+
{"href": "spotify:artist:68V1TH2chbUSLvqGkfBW6S", "name": "Ricky Martin Feat. Joss Stone", "popularity": "0.11363"},
|
30
|
+
{"href": "spotify:artist:17g9izQ35blndiUPLhGodI", "name": "Dwight Stone", "popularity": "0.08232"},
|
31
|
+
{"href": "spotify:artist:5yX0L9mpGpFNGnjmigyNCI", "name": "Alexandra Stone", "popularity": "0.06778"},
|
32
|
+
{"href": "spotify:artist:4TBZbclpBnXENejnt0ZIpr", "name": "Angus Stone", "popularity": "0.06334"},
|
33
|
+
{"href": "spotify:artist:40Ar1CY9WEPWK7b211IK81", "name": "Lew Stone", "popularity": "0.05864"},
|
34
|
+
{"href": "spotify:artist:6jk128BjcZxmf8G90D7oOk", "name": "Stone Senses", "popularity": "0.05658"},
|
35
|
+
{"href": "spotify:artist:3yjToJqlGuhwzaCkUpUfq9", "name": "Stu Stone", "popularity": "0.05541"},
|
36
|
+
{"href": "spotify:artist:0kNyq4Q2UEmIeuySw9myZc", "name": "Corner Stone Cues", "popularity": "0.06280"},
|
37
|
+
{"href": "spotify:artist:49gYweXA3mqGBbkkpeyWGq", "name": "Raphael Saadiq featuring Joss Stone", "popularity": "0.05961"},
|
38
|
+
{"href": "spotify:artist:7s38JtwIABfvYYGTKOa5EV", "name": "Kay Stone", "popularity": "0.04489"},
|
39
|
+
{"href": "spotify:artist:7i6OjbTBFvpVYkJv4zkNcB", "name": "Stone Roses", "popularity": "0.04489"},
|
40
|
+
{"href": "spotify:artist:2IvPBSC4CgNLYC1GHEAxcN", "name": "Stevie Stone", "popularity": "0.04296"},
|
41
|
+
{"href": "spotify:artist:1TqikbzYvrf59XGJQgCNzQ", "name": "Steven Stone", "popularity": "0.04051"},
|
42
|
+
{"href": "spotify:artist:2lK3YnHTaukG6VJ09GmeYo", "name": "Sly & The Family Stone|Slave|James Brown|Dazz Band|Teddy Pendergrass|Marvin Gaye", "popularity": "0.07424"},
|
43
|
+
{"href": "spotify:artist:4sOQLWxzmPMffkbPWbZCHh", "name": "Stone Axe", "popularity": "0.03748"},
|
44
|
+
{"href": "spotify:artist:5ZCcVPmY6ymLPStzhEFolI", "name": "Blue Stone", "popularity": "0.03657"},
|
45
|
+
{"href": "spotify:artist:4Dx4u9AniPCl5nwkIjleyr", "name": "Eddie Vedder and Stone Gossard", "popularity": "0.04544"},
|
46
|
+
{"href": "spotify:artist:4xSTICF3RLqUa98dFRWtpO", "name": "Lew Stone & His Band", "popularity": "0.03811"},
|
47
|
+
{"href": "spotify:artist:0VTxjW8pGDbhEZUAZkQ59L", "name": "Stone & The DJ", "popularity": "0.03384"},
|
48
|
+
{"href": "spotify:artist:2YbzY5WCnWFA2JlU16lqsV", "name": "Stone Gods", "popularity": "0.02797"},
|
49
|
+
{"href": "spotify:artist:2vThUcryaKNLhULHOzP3eH", "name": "Ranking Stone", "popularity": "0.02716"},
|
50
|
+
{"href": "spotify:artist:1AdFLjG5endQ2HmDMtp5Fe", "name": "Stone The Crows", "popularity": "0.02954"},
|
51
|
+
{"href": "spotify:artist:2X9nnux4eS3CFBDSjcnoBQ", "name": "Stone Poneys", "popularity": "0.02190"},
|
52
|
+
{"href": "spotify:artist:0BUHAyLpATEPKRkwJWXdLp", "name": "Connemara Stone Company", "popularity": "0.02436"},
|
53
|
+
{"href": "spotify:artist:5hZywvBMNgzCBy7KPdgreK", "name": "Jamie Kennedy & Stu Stone", "popularity": "0.02429"},
|
54
|
+
{"href": "spotify:artist:4LyTW4sS5IQyL747sxyOnf", "name": "Angie Stone feat. Calvin", "popularity": "0.02424"},
|
55
|
+
{"href": "spotify:artist:1JqOqsJ3cetrCm1oM2eQik", "name": "Josh Stone", "popularity": "0.01966"},
|
56
|
+
{"href": "spotify:artist:3I9Cw0rM60M8B0McapBeoR", "name": "Joe D'Urso & Stone Caravan", "popularity": "0.02225"},
|
57
|
+
{"href": "spotify:artist:2mFEB1yADKv56pUDpTqSqb", "name": "The First Stone", "popularity": "0.02165"},
|
58
|
+
{"href": "spotify:artist:5NQy6baJWodZVDa5455PYk", "name": "Lew Stone And His Band", "popularity": "0.02358"},
|
59
|
+
{"href": "spotify:artist:4aT4S9Vq35xkN87Yiunjt3", "name": "Mark Stone", "popularity": "0.01727"},
|
60
|
+
{"href": "spotify:artist:5PENIK8WHcB1eGR421rkAJ", "name": "Chris Stone", "popularity": "0.01667"},
|
61
|
+
{"href": "spotify:artist:4GiJ9YyQUx7kJXT3IJb6oU", "name": "Twigg & Stone", "popularity": "0.01616"},
|
62
|
+
{"href": "spotify:artist:0XGZ1FLCVSbsBHpBCJabYO", "name": "Angie Stone featuring Anthony Hamilton", "popularity": "0.02160"},
|
63
|
+
{"href": "spotify:artist:06sqgSBkdTBvcV3yVklLEL", "name": "Stone Free: A Tribute to Jimi Hendrix", "popularity": "0.02441"},
|
64
|
+
{"href": "spotify:artist:0u0YN6DvyVjiUSzVMIX28S", "name": "Stone Gossard, Mike McCready, Jeff Ament and Chris Friel", "popularity": "0.02595"},
|
65
|
+
{"href": "spotify:artist:5E5WJyfvRW19sZFG32gzSQ", "name": "Kid Stone", "popularity": "0.01308"},
|
66
|
+
{"href": "spotify:artist:5vu3oBxfWGEauRbyFp9E4Y", "name": "Angie Stone feat. Alicia Keys & Eve", "popularity": "0.01980"},
|
67
|
+
{"href": "spotify:artist:7tQx0SAWKmjZtpAqoeBEbk", "name": "Angus & Julia Stone Band", "popularity": "0.01464"},
|
68
|
+
{"href": "spotify:artist:09w2nmrWDRCL0wtRqoNLdM", "name": "Eric Stone", "popularity": "0.01110"},
|
69
|
+
{"href": "spotify:artist:6LaeuXyOjdRMxpZqFUJXSF", "name": "Cliffie Stone", "popularity": "0.01054"},
|
70
|
+
{"href": "spotify:artist:7utN8P698fXhCDd4mSrsns", "name": "Macy Gray featuring Angie Stone and Mos Def", "popularity": "0.01969"},
|
71
|
+
{"href": "spotify:artist:4MV8idwPVmHcxZjT0fjsDx", "name": "Angie Stone & Joe", "popularity": "0.01272"},
|
72
|
+
{"href": "spotify:artist:5EVOoLv2B5cIzu4eEiyFuQ", "name": "Floating Stone", "popularity": "0.00894"},
|
73
|
+
{"href": "spotify:artist:47bokO26f4LIt4zaAlCQwo", "name": "Elephant Stone", "popularity": "0.00881"},
|
74
|
+
{"href": "spotify:artist:2TDSXxzZIS1oDg3L9fk4aK", "name": "Jamie Kennedy & Stu Stone", "popularity": "0.01083"},
|
75
|
+
{"href": "spotify:artist:2TRaJKJyCPZO8fyz698CJZ", "name": "The Stone Poneys", "popularity": "0.01077"},
|
76
|
+
{"href": "spotify:artist:7FrEdhlyISrRxcmR5EQhIO", "name": "Stone Canyon", "popularity": "0.00867"},
|
77
|
+
{"href": "spotify:artist:73oVHjkFKwe9kRheYvbLL9", "name": "Stone Age", "popularity": "0.00860"},
|
78
|
+
{"href": "spotify:artist:0bzZT5BwQ7RXTpQHKOAeG0", "name": "Apple & Stone", "popularity": "0.00787"},
|
79
|
+
{"href": "spotify:artist:6ihpa5zgHEYPbYr27mSAuj", "name": "Sly Stone & The Mojo Men", "popularity": "0.01098"},
|
80
|
+
{"href": "spotify:artist:1p0NholKJLtbG8rnYRPsMG", "name": "The Stone Coyotes", "popularity": "0.00951"},
|
81
|
+
{"href": "spotify:artist:2ms3xThJ4kusbTSioFohyS", "name": "Stone & Charden", "popularity": "0.00768"},
|
82
|
+
{"href": "spotify:artist:4ndPdP6aVSDCvhsjOHLGjb", "name": "Stone et Charden", "popularity": "0.00927"},
|
83
|
+
{"href": "spotify:artist:3cr8Cd4OFcYEc63zZu1Szg", "name": "Santana featuring Sean Paul & Joss Stone", "popularity": "0.01203"},
|
84
|
+
{"href": "spotify:artist:0PMtZ48ugLkoxg4cjggEVl", "name": "Stone Black", "popularity": "0.00738"},
|
85
|
+
{"href": "spotify:artist:6Rp18SVmMFIZRHRoD0wj9X", "name": "Angie Stone feat. Musiq Soulchild", "popularity": "0.00996"},
|
86
|
+
{"href": "spotify:artist:2YIFiyLIUhMH9kzb0FCmbX", "name": "Brandon Stone", "popularity": "0.00651"},
|
87
|
+
{"href": "spotify:artist:0bO3bOZwJNmh750eBf0aA0", "name": "Jesse Stone", "popularity": "0.00629"},
|
88
|
+
{"href": "spotify:artist:5tUSgp6KX97m37HMbBgTwU", "name": "Steve Stone", "popularity": "0.00616"},
|
89
|
+
{"href": "spotify:artist:09xL6Rso5T14vYo6ji8Gmq", "name": "Q-Stone", "popularity": "0.00601"},
|
90
|
+
{"href": "spotify:artist:3TJTZNpLyscwiDwlZsTX4Y", "name": "Preacher Stone", "popularity": "0.00592"},
|
91
|
+
{"href": "spotify:artist:2OOTZ9s1DnVNQnvkRgpKpD", "name": "Andy Stone & Kat Zero", "popularity": "0.00729"},
|
92
|
+
{"href": "spotify:artist:0UkhQeHmaegeLcaDXBjpkl", "name": "Ty Stone", "popularity": "0.00576"},
|
93
|
+
{"href": "spotify:artist:4rxyoc13lO8BoilliyUf47", "name": "Tyte Stone", "popularity": "0.00570"},
|
94
|
+
{"href": "spotify:artist:1DjvnBVnM1YGCC6jrEKcTR", "name": "Thom Stone", "popularity": "0.00567"},
|
95
|
+
{"href": "spotify:artist:6jEAwZdvV4fYoplzok8yO6", "name": "CJ Stone & Chriss Ortega", "popularity": "0.00702"},
|
96
|
+
{"href": "spotify:artist:1TGwUWwVcKAYoXSuXVZUxt", "name": "Stone Mecca", "popularity": "0.00560"},
|
97
|
+
{"href": "spotify:artist:4F2HKVxNOxDZJzsditSbBf", "name": "Stone River Boys", "popularity": "0.00605"},
|
98
|
+
{"href": "spotify:artist:2H1K3K1jTG7GI1nmu1zL0J", "name": "Bread of Stone", "popularity": "0.00603"},
|
99
|
+
{"href": "spotify:artist:3ub47QhezGBj3fsCXn6jma", "name": "Jonathan Stone", "popularity": "0.00462"},
|
100
|
+
{"href": "spotify:artist:4SDFoX1GFLyoP1r9w26mfr", "name": "Stone Antica", "popularity": "0.00460"},
|
101
|
+
{"href": "spotify:artist:0rVkv5DwsmIbQg2ECWMQGT", "name": "Stone Foundation", "popularity": "0.00446"},
|
102
|
+
{"href": "spotify:artist:3PM5EQ1NOCRtuhb6CS8qsY", "name": "Rick Nelson And The Stone Canyon Band", "popularity": "0.00729"},
|
103
|
+
{"href": "spotify:artist:4ZzNfsfOJrl9jsklNxJ9rO", "name": "Alexia Stone", "popularity": "0.00445"},
|
104
|
+
{"href": "spotify:artist:1DwDghZjRzH4LJjLrQ5Kz3", "name": "Kim Stone", "popularity": "0.00417"},
|
105
|
+
{"href": "spotify:artist:5mH7gMQLYmFW0wsYncxxMR", "name": "Earth & Stone", "popularity": "0.00401"},
|
106
|
+
{"href": "spotify:artist:5RvX7694GlgGLE7amVLGma", "name": "The Philosopher's Stone", "popularity": "0.00496"},
|
107
|
+
{"href": "spotify:artist:4LBtSkOX4csRDfqStKgz75", "name": "Stone Cold Steve Austin", "popularity": "0.00438"}
|
108
|
+
]
|
109
|
+
}
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'spotif-aye'
|
2
|
+
require 'webmock/rspec'
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
RSpec.configure do |config|
|
6
|
+
# Use color in STDOUT
|
7
|
+
config.color_enabled = true
|
8
|
+
|
9
|
+
# Use color not only in STDOUT but also in pagers and files
|
10
|
+
config.tty = true
|
11
|
+
|
12
|
+
# Use the specified formatter
|
13
|
+
config.formatter = :documentation # :progress, :html, :textmate
|
14
|
+
end
|
data/spotif-aye.gemspec
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "spotif-aye/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "spotif-aye"
|
7
|
+
s.version = SpotifAye::VERSION
|
8
|
+
s.authors = ["Stuart Liston"]
|
9
|
+
s.email = ["stuart.liston@gmail.com"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = %q{Wrapper for Spotify's Metadata API}
|
12
|
+
s.description = %q{Tries to provide a nicer interface to the metadata api provided by Spotify}
|
13
|
+
|
14
|
+
# Running dependencies
|
15
|
+
s.add_dependency "httparty", ">= 0.8.1"
|
16
|
+
|
17
|
+
# Development dependencies:
|
18
|
+
s.add_development_dependency "rspec", ">= 2.7.0"
|
19
|
+
s.add_development_dependency "i18n", ">= 0.6.0"
|
20
|
+
s.add_development_dependency "webmock"
|
21
|
+
|
22
|
+
s.rubyforge_project = "spotif-aye"
|
23
|
+
|
24
|
+
s.files = `git ls-files`.split("\n")
|
25
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
26
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
27
|
+
s.require_paths = ["lib"]
|
28
|
+
|
29
|
+
# specify any dependencies here; for example:
|
30
|
+
# s.add_development_dependency "rspec"
|
31
|
+
# s.add_runtime_dependency "rest-client"
|
32
|
+
end
|
metadata
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: spotif-aye
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Stuart Liston
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-12-18 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: httparty
|
16
|
+
requirement: &70365537150440 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.8.1
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70365537150440
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
requirement: &70365537149940 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 2.7.0
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70365537149940
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: i18n
|
38
|
+
requirement: &70365537149480 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.6.0
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70365537149480
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: webmock
|
49
|
+
requirement: &70365537149100 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70365537149100
|
58
|
+
description: Tries to provide a nicer interface to the metadata api provided by Spotify
|
59
|
+
email:
|
60
|
+
- stuart.liston@gmail.com
|
61
|
+
executables: []
|
62
|
+
extensions: []
|
63
|
+
extra_rdoc_files: []
|
64
|
+
files:
|
65
|
+
- .gitignore
|
66
|
+
- Gemfile
|
67
|
+
- LICENSE
|
68
|
+
- README
|
69
|
+
- Rakefile
|
70
|
+
- lib/spotif-aye.rb
|
71
|
+
- lib/spotif-aye/version.rb
|
72
|
+
- spec/artist_spec.rb
|
73
|
+
- spec/mock_responses/multiple_results.txt
|
74
|
+
- spec/mock_responses/single_result.txt
|
75
|
+
- spec/spec_helper.rb
|
76
|
+
- spotif-aye.gemspec
|
77
|
+
homepage: ''
|
78
|
+
licenses: []
|
79
|
+
post_install_message:
|
80
|
+
rdoc_options: []
|
81
|
+
require_paths:
|
82
|
+
- lib
|
83
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
requirements: []
|
96
|
+
rubyforge_project: spotif-aye
|
97
|
+
rubygems_version: 1.8.11
|
98
|
+
signing_key:
|
99
|
+
specification_version: 3
|
100
|
+
summary: Wrapper for Spotify's Metadata API
|
101
|
+
test_files:
|
102
|
+
- spec/artist_spec.rb
|
103
|
+
- spec/mock_responses/multiple_results.txt
|
104
|
+
- spec/mock_responses/single_result.txt
|
105
|
+
- spec/spec_helper.rb
|