ruby_fm 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +39 -0
- data/Rakefile +6 -0
- data/lib/ruby_fm/album.rb +69 -0
- data/lib/ruby_fm/artist.rb +48 -0
- data/lib/ruby_fm/track.rb +17 -0
- data/lib/ruby_fm/version.rb +3 -0
- data/lib/ruby_fm.rb +14 -0
- data/ruby_fm.gemspec +30 -0
- data/spec/cassettes/RubyFm_Album/get_tracks/returns_a_list_of_tracks_for_the_album.yml +107 -0
- data/spec/cassettes/RubyFm_Album/searching/returns_a_list_of_relevant_albums.yml +169 -0
- data/spec/cassettes/RubyFm_Artist/searching/returns_a_list_of_relevant_artists.yml +59 -0
- data/spec/ruby_fm/album_spec.rb +35 -0
- data/spec/ruby_fm/artist_spec.rb +25 -0
- data/spec/spec_helper.rb +17 -0
- metadata +179 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 40682fbe05f5f78bf908a060226435d1e57124dc
|
4
|
+
data.tar.gz: 0ead632d99bb21407c2be44ed86ae3e43b5a279f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 91fb0b52003563d4ed3def9d814fd687de1d59f154ba66cae14300cfd8ea037f8bcc486c75196d990f8f0315215f90f401bb749fdf5ef7e9d1d45e032736a6a4
|
7
|
+
data.tar.gz: ed26c2086b00386a6941a5e31db4549b478a7e872e429cdde82917d82f14b2e83a85f66693a60b0b0355eba240357249e527de91adb947505be871fc6e66113f
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 Daniel Carter
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# RubyFm
|
2
|
+
|
3
|
+
Wrapper for using the Last FM API
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
`gem 'ruby_fm'`
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
`$ bundle`
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
`$ gem install ruby_fm`
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
`artist = LastRubyFm::Artist.search('65daysofstatic').first
|
22
|
+
artist.name # '65daysofstatic'
|
23
|
+
artist.images # ["http://userserve-ak.last.fm/serve/34/46404977.jpg",
|
24
|
+
"http://userserve-ak.last.fm/serve/64/46404977.jpg",
|
25
|
+
"http://userserve-ak.last.fm/serve/126/46404977.jpg",
|
26
|
+
"http://userserve-ak.last.fm/serve/252/46404977.jpg",
|
27
|
+
"http://userserve-ak.last.fm/serve/_/46404977/65daysofstatic+4312266316_916a42bda8.jpg"]
|
28
|
+
|
29
|
+
album = LastRubyFm::Album.search('Robbers & Cowards')[0]
|
30
|
+
album.artist # 'Cold War Kids'
|
31
|
+
album.tracks # retrieves a list of LastRubyFm::Track objects for the given album`
|
32
|
+
|
33
|
+
## Contributing
|
34
|
+
|
35
|
+
1. Fork it
|
36
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
37
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
38
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
39
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
module RubyFm
|
5
|
+
class Album
|
6
|
+
attr_reader :name, :artist, :id, :url, :images, :streamable, :tracks, :mbid
|
7
|
+
|
8
|
+
def initialize(attributes, tracks)
|
9
|
+
@name = attributes['name']
|
10
|
+
@artist = attributes['artist']
|
11
|
+
@mbid = attributes['mbid']
|
12
|
+
@id = attributes['id']
|
13
|
+
@url = attributes['url']
|
14
|
+
@streamable = attributes['streamable']
|
15
|
+
@images = attributes['image'].map do |image|
|
16
|
+
image['#text']
|
17
|
+
end
|
18
|
+
@tracks = tracks
|
19
|
+
end
|
20
|
+
|
21
|
+
class << self
|
22
|
+
def search(phrase)
|
23
|
+
res = connection.get('/2.0/', {
|
24
|
+
method: 'album.search',
|
25
|
+
album: phrase,
|
26
|
+
api_key: RubyFm.api_key,
|
27
|
+
format: 'json'
|
28
|
+
})
|
29
|
+
parsed_results = JSON.parse(res.body)
|
30
|
+
if parsed_results['results'] && parsed_results['results']['albummatches']
|
31
|
+
album_results = [parsed_results['results']['albummatches']['album']].flatten
|
32
|
+
album_results.map do |album_attributes|
|
33
|
+
tracks = get_tracks(album_attributes['name'],album_attributes['artist'])
|
34
|
+
new(album_attributes, tracks)
|
35
|
+
end
|
36
|
+
else
|
37
|
+
[]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
protected
|
42
|
+
def get_tracks(name, artist)
|
43
|
+
res = connection.get('/2.0/', {
|
44
|
+
method: 'album.getInfo',
|
45
|
+
album: name,
|
46
|
+
artist: artist,
|
47
|
+
api_key: RubyFm.api_key,
|
48
|
+
format: 'json'
|
49
|
+
})
|
50
|
+
parsed_results = JSON.parse(res.body)
|
51
|
+
if parsed_results['album'] && parsed_results['album']['tracks']['track']
|
52
|
+
tracks_results = [parsed_results['album']['tracks']['track']].flatten
|
53
|
+
tracks_results.map do |track_attributes|
|
54
|
+
Track.new(track_attributes)
|
55
|
+
end
|
56
|
+
else
|
57
|
+
[]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def connection
|
62
|
+
conn ||= Faraday.new(:url => 'http://ws.audioscrobbler.com') do |faraday|
|
63
|
+
faraday.request :url_encoded # form-encode POST params
|
64
|
+
faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
module RubyFm
|
5
|
+
class Artist
|
6
|
+
attr_reader :name, :listeners, :mbid, :streamable, :url, :images
|
7
|
+
|
8
|
+
def initialize(attributes)
|
9
|
+
@name = attributes['name']
|
10
|
+
@listeners = attributes['listeners']
|
11
|
+
@mbid = attributes['mbid']
|
12
|
+
@streamable = attributes['streamable']
|
13
|
+
@url = attributes['url']
|
14
|
+
@images = attributes['image'].map do |image|
|
15
|
+
image['#text']
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class << self
|
20
|
+
def search(phrase)
|
21
|
+
res = connection.get('/2.0/', {
|
22
|
+
method: 'artist.search',
|
23
|
+
artist: phrase,
|
24
|
+
api_key: RubyFm.api_key,
|
25
|
+
format: 'json'
|
26
|
+
})
|
27
|
+
parsed_results = JSON.parse(res.body)
|
28
|
+
if parsed_results['results'] && parsed_results['results']['artistmatches']
|
29
|
+
artist_results = [parsed_results['results']['artistmatches']['artist']].flatten
|
30
|
+
artist_results.map do |artist_attributes|
|
31
|
+
new(artist_attributes)
|
32
|
+
end
|
33
|
+
else
|
34
|
+
[]
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
protected
|
40
|
+
def connection
|
41
|
+
conn ||= Faraday.new(:url => 'http://ws.audioscrobbler.com') do |faraday|
|
42
|
+
faraday.request :url_encoded # form-encode POST params
|
43
|
+
faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module RubyFm
|
4
|
+
class Track
|
5
|
+
attr_reader :name, :duration, :mbid, :url, :streamable, :artist, :rank
|
6
|
+
|
7
|
+
def initialize(attributes)
|
8
|
+
@name = attributes['name']
|
9
|
+
@duration = attributes['duration']
|
10
|
+
@mbid = attributes['mbid']
|
11
|
+
@url = attributes['url']
|
12
|
+
@streamable = attributes['streamable']
|
13
|
+
@artist = attributes['artist']['name']
|
14
|
+
@rank = attributes['@attr']['rank']
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/ruby_fm.rb
ADDED
data/ruby_fm.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'ruby_fm/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "ruby_fm"
|
8
|
+
spec.version = RubyFm::VERSION
|
9
|
+
spec.authors = ["Daniel Carter"]
|
10
|
+
spec.email = ["dnyecarter@gmail.com"]
|
11
|
+
spec.description = %q{Wrapper for using the Last FM API}
|
12
|
+
spec.summary = %q{Wrapper for using the Last FM API using Faraday, VCS, and RSpec}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "faraday"
|
22
|
+
spec.add_dependency "multi_json"
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
25
|
+
spec.add_development_dependency "rake"
|
26
|
+
spec.add_development_dependency "rspec"
|
27
|
+
spec.add_development_dependency "webmock"
|
28
|
+
spec.add_development_dependency "vcr"
|
29
|
+
spec.add_development_dependency "pry"
|
30
|
+
end
|
@@ -0,0 +1,107 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://ws.audioscrobbler.com/2.0/?album=Robbers%20%26%20Cowards&api_key=<LASTFM
|
6
|
+
API KEY>&format=json&method=album.search
|
7
|
+
body:
|
8
|
+
encoding: US-ASCII
|
9
|
+
string: ''
|
10
|
+
headers:
|
11
|
+
User-Agent:
|
12
|
+
- Faraday v0.9.0
|
13
|
+
Accept-Encoding:
|
14
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
15
|
+
Accept:
|
16
|
+
- '*/*'
|
17
|
+
response:
|
18
|
+
status:
|
19
|
+
code: 200
|
20
|
+
message: OK
|
21
|
+
headers:
|
22
|
+
Server:
|
23
|
+
- Apache/2.2.22 (Unix)
|
24
|
+
X-Web-Node:
|
25
|
+
- www232
|
26
|
+
Access-Control-Allow-Origin:
|
27
|
+
- '*'
|
28
|
+
Access-Control-Allow-Methods:
|
29
|
+
- POST, GET, OPTIONS
|
30
|
+
Access-Control-Max-Age:
|
31
|
+
- '86400'
|
32
|
+
Cache-Control:
|
33
|
+
- max-age=86400
|
34
|
+
Expires:
|
35
|
+
- Tue, 21 Jan 2014 23:02:51 GMT
|
36
|
+
Content-Type:
|
37
|
+
- application/json; charset=utf-8;
|
38
|
+
Date:
|
39
|
+
- Mon, 20 Jan 2014 23:02:51 GMT
|
40
|
+
X-Varnish:
|
41
|
+
- '1812768600'
|
42
|
+
Age:
|
43
|
+
- '0'
|
44
|
+
Via:
|
45
|
+
- 1.1 varnish
|
46
|
+
Connection:
|
47
|
+
- close
|
48
|
+
X-Cms:
|
49
|
+
- '1'
|
50
|
+
X-Varnish-Host:
|
51
|
+
- varnish3
|
52
|
+
body:
|
53
|
+
encoding: UTF-8
|
54
|
+
string: |
|
55
|
+
{"results":{"opensearch:Query":{"#text":"","role":"request","searchTerms":"Robbers & Cowards","startPage":"1"},"opensearch:totalResults":"1","opensearch:startIndex":"0","opensearch:itemsPerPage":"50","albummatches":{"album":{"name":"Robbers & Cowards","artist":"Cold War Kids","id":"3251702","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/Robbers+&+Cowards","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/9197957.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/9197957.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/9197957.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/9197957.jpg","size":"extralarge"}],"streamable":"1","mbid":"1cd89dd6-158f-43c8-8a36-70546defb4a9"}},"@attr":{"for":"Robbers & Cowards"}}}
|
56
|
+
http_version:
|
57
|
+
recorded_at: Mon, 20 Jan 2014 23:02:51 GMT
|
58
|
+
- request:
|
59
|
+
method: get
|
60
|
+
uri: http://ws.audioscrobbler.com/2.0/?album=Robbers%20%26%20Cowards&api_key=<LASTFM
|
61
|
+
API KEY>&artist=Cold%20War%20Kids&format=json&method=album.getInfo
|
62
|
+
body:
|
63
|
+
encoding: US-ASCII
|
64
|
+
string: ''
|
65
|
+
headers:
|
66
|
+
User-Agent:
|
67
|
+
- Faraday v0.9.0
|
68
|
+
Accept-Encoding:
|
69
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
70
|
+
Accept:
|
71
|
+
- '*/*'
|
72
|
+
response:
|
73
|
+
status:
|
74
|
+
code: 200
|
75
|
+
message: OK
|
76
|
+
headers:
|
77
|
+
Date:
|
78
|
+
- Mon, 20 Jan 2014 23:02:51 GMT
|
79
|
+
Server:
|
80
|
+
- Apache/2.2.22 (Unix)
|
81
|
+
X-Web-Node:
|
82
|
+
- www239
|
83
|
+
Access-Control-Allow-Origin:
|
84
|
+
- '*'
|
85
|
+
Access-Control-Allow-Methods:
|
86
|
+
- POST, GET, OPTIONS
|
87
|
+
Access-Control-Max-Age:
|
88
|
+
- '86400'
|
89
|
+
Cache-Control:
|
90
|
+
- max-age=86400
|
91
|
+
Expires:
|
92
|
+
- Tue, 21 Jan 2014 23:02:51 GMT
|
93
|
+
Vary:
|
94
|
+
- Accept-Encoding
|
95
|
+
Content-Length:
|
96
|
+
- '1185'
|
97
|
+
Connection:
|
98
|
+
- close
|
99
|
+
Content-Type:
|
100
|
+
- application/json; charset=utf-8;
|
101
|
+
body:
|
102
|
+
encoding: UTF-8
|
103
|
+
string: |
|
104
|
+
{"album":{"name":"Robbers & Cowards","artist":"Cold War Kids","id":"3251702","mbid":"1cd89dd6-158f-43c8-8a36-70546defb4a9","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/Robbers+&+Cowards","releasedate":" 11 Nov 2008, 00:00","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/9197957.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/9197957.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/174s\/9197957.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/9197957.jpg","size":"extralarge"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/_\/9197957\/Robbers++Cowards+Cold+War+Kids++Robbers++Coward.jpg","size":"mega"}],"listeners":"333892","playcount":"7387537","tracks":{"track":[{"name":"We Used to Vacation","duration":"241","mbid":"82b38cde-d4c0-4d41-b4eb-d230287c8784","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/We+Used+to+Vacation","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"1"}},{"name":"Hang Me Up to Dry","duration":"216","mbid":"0828547a-fea2-4cbb-97d8-c2bf35874d80","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Hang+Me+Up+to+Dry","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"2"}},{"name":"Tell Me in the Morning","duration":"217","mbid":"1280ef5b-d75a-43ce-a9bb-da6fff5deaf5","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Tell+Me+in+the+Morning","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"3"}},{"name":"Hair Down","duration":"220","mbid":"08cb4c8b-652a-4e77-a576-603dda422dd5","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Hair+Down","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"4"}},{"name":"Passing the Hat","duration":"207","mbid":"081245cb-b177-49b1-b69f-e70c408d01f3","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Passing+the+Hat","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"5"}},{"name":"Saint John","duration":"206","mbid":"b700456c-39d4-4ee8-bd5b-5a155139ce0d","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Saint+John","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"6"}},{"name":"Robbers","duration":"218","mbid":"33cc1c64-e62f-4edd-ad2a-d1eca284a128","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Robbers","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"7"}},{"name":"Hospital Beds","duration":"279","mbid":"1fffaed8-2e23-41a4-978f-a71090b445e2","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Hospital+Beds","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"8"}},{"name":"Pregnant","duration":"237","mbid":"9385ef17-c56c-4bb1-b9de-8d76870801de","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Pregnant","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"9"}},{"name":"Red Wine, Success!","duration":"154","mbid":"d73152c8-30c7-47d7-9cd9-3040437a5871","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Red+Wine,+Success!","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"10"}},{"name":"God, Make Up Your Mind","duration":"286","mbid":"26720c8c-b1dc-4472-96d6-1a146be5d439","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/God,+Make+Up+Your+Mind","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"11"}},{"name":"Rubidoux","duration":"662","mbid":"fef06096-ca5f-496e-a976-a40c55fe63cf","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Rubidoux","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"12"}}]},"toptags":{"tag":[{"name":"albums i own","url":"http:\/\/www.last.fm\/tag\/albums%20i%20own"},{"name":"2006","url":"http:\/\/www.last.fm\/tag\/2006"},{"name":"indie","url":"http:\/\/www.last.fm\/tag\/indie"},{"name":"indie rock","url":"http:\/\/www.last.fm\/tag\/indie%20rock"},{"name":"00s","url":"http:\/\/www.last.fm\/tag\/00s"}]}}}
|
105
|
+
http_version:
|
106
|
+
recorded_at: Mon, 20 Jan 2014 23:02:51 GMT
|
107
|
+
recorded_with: VCR 2.8.0
|
@@ -0,0 +1,169 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://ws.audioscrobbler.com/2.0/?album=Robbers&api_key=<LASTFM API KEY>&format=json&method=album.search
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- '*/*'
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- Apache/2.2.22 (Unix)
|
23
|
+
X-Web-Node:
|
24
|
+
- www105
|
25
|
+
Access-Control-Allow-Origin:
|
26
|
+
- '*'
|
27
|
+
Access-Control-Allow-Methods:
|
28
|
+
- POST, GET, OPTIONS
|
29
|
+
Access-Control-Max-Age:
|
30
|
+
- '86400'
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=86400
|
33
|
+
Expires:
|
34
|
+
- Tue, 21 Jan 2014 22:27:02 GMT
|
35
|
+
Content-Type:
|
36
|
+
- application/json; charset=utf-8;
|
37
|
+
Content-Length:
|
38
|
+
- '3600'
|
39
|
+
Accept-Ranges:
|
40
|
+
- bytes
|
41
|
+
Date:
|
42
|
+
- Mon, 20 Jan 2014 22:28:07 GMT
|
43
|
+
X-Varnish:
|
44
|
+
- 1987666032 1987646162
|
45
|
+
Age:
|
46
|
+
- '64'
|
47
|
+
Via:
|
48
|
+
- 1.1 varnish
|
49
|
+
Connection:
|
50
|
+
- close
|
51
|
+
X-Cms:
|
52
|
+
- '1'
|
53
|
+
X-Varnish-Host:
|
54
|
+
- varnish4
|
55
|
+
body:
|
56
|
+
encoding: UTF-8
|
57
|
+
string: |
|
58
|
+
{"results":{"opensearch:Query":{"#text":"","role":"request","searchTerms":"Robbers","startPage":"1"},"opensearch:totalResults":"103","opensearch:startIndex":"0","opensearch:itemsPerPage":"50","albummatches":{"album":[{"name":"Robbers And Cowards","artist":"Cold War Kids","id":"3237006","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/Robbers+And+Cowards","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/11177203.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/11177203.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/11177203.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/11177203.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Robbers & Cowards","artist":"Cold War Kids","id":"3251702","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/Robbers+&+Cowards","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/9197957.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/9197957.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/9197957.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/9197957.jpg","size":"extralarge"}],"streamable":"1","mbid":"1cd89dd6-158f-43c8-8a36-70546defb4a9"},{"name":"Grand Animals","artist":"Robbers on High Street","id":"3354671","url":"http:\/\/www.last.fm\/music\/Robbers+on+High+Street\/Grand+Animals","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/90657307.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/90657307.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/90657307.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/90657307.jpg","size":"extralarge"}],"streamable":"1","mbid":"8dfb1bdd-3038-45f9-9933-4e280eb39d10"},{"name":"Tree City","artist":"Robbers on High Street","id":"2032371","url":"http:\/\/www.last.fm\/music\/Robbers+on+High+Street\/Tree+City","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/81538667.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/81538667.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/81538667.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/81538667.jpg","size":"extralarge"}],"streamable":"1","mbid":"9b5ef1f1-fb93-467f-a390-b5e81d49b574"},{"name":"Murderers & Robbers","artist":"Project Pat","id":"4193234","url":"http:\/\/www.last.fm\/music\/Project+Pat\/Murderers+&+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/69080106.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/69080106.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/69080106.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/69080106.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Fine Lines","artist":"Robbers on High Street","id":"2154676","url":"http:\/\/www.last.fm\/music\/Robbers+on+High+Street\/Fine+Lines","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/81644161.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/81644161.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/81644161.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/81644161.jpg","size":"extralarge"}],"streamable":"1","mbid":"397a7312-814b-48c3-b5c8-459cc1a9d384"},{"name":"Little Robbers","artist":"The Motels","id":"2084012","url":"http:\/\/www.last.fm\/music\/The+Motels\/Little+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/84981083.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/84981083.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/84981083.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/84981083.jpg","size":"extralarge"}],"streamable":"0","mbid":"3a999f04-eafa-43da-a858-7b0e53bf4ba6"},{"name":"Hey There Golden Hair","artist":"Robbers on High Street","id":"252875291","url":"http:\/\/www.last.fm\/music\/Robbers+on+High+Street\/Hey+There+Golden+Hair","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/68886122.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/68886122.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/68886122.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/68886122.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Cops And Robbers","artist":"The Hoosiers","id":"3772520","url":"http:\/\/www.last.fm\/music\/The+Hoosiers\/Cops+And+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/90866269.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/90866269.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/90866269.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/90866269.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Robbers Roost","artist":"Head for the Hills","id":"3623560","url":"http:\/\/www.last.fm\/music\/Head+for+the+Hills\/Robbers+Roost","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/9968913.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/9968913.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/9968913.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/9968913.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"The Fatalist And Friends","artist":"Robbers on High Street","id":"3262319","url":"http:\/\/www.last.fm\/music\/Robbers+on+High+Street\/The+Fatalist+And+Friends","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/48822685.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/48822685.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/48822685.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/48822685.jpg","size":"extralarge"}],"streamable":"1","mbid":"92ccac2e-7414-47db-9e3b-da37c1f7bfbc"},{"name":"Murderers and Robbers","artist":"Project Pat","id":"2218604","url":"http:\/\/www.last.fm\/music\/Project+Pat\/Murderers+and+Robbers","image":[{"#text":"http:\/\/images.amazon.com\/images\/P\/B00004U5DC.01.MZZZZZZZ.jpg","size":"small"},{"#text":"http:\/\/images.amazon.com\/images\/P\/B00004U5DC.01.MZZZZZZZ.jpg","size":"medium"},{"#text":"http:\/\/images.amazon.com\/images\/P\/B00004U5DC.01.MZZZZZZZ.jpg","size":"large"},{"#text":"http:\/\/images.amazon.com\/images\/P\/B00004U5DC.01.MZZZZZZZ.jpg","size":"extralarge"}],"streamable":"1","mbid":"b3338e3c-0a6c-4463-a3ee-72ba35b93ee9"},{"name":"8-Bit Heroes","artist":"The New York Robbers","id":"48280526","url":"http:\/\/www.last.fm\/music\/The+New+York+Robbers\/8-Bit+Heroes","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/22807861.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/22807861.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/22807861.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/22807861.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Seasons Greetings","artist":"Robbers on High Street","id":"3721748","url":"http:\/\/www.last.fm\/music\/Robbers+on+High+Street\/Seasons+Greetings","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"44 Robbers","artist":"Laika","id":"2779","url":"http:\/\/www.last.fm\/music\/Laika\/44+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/8591607.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/8591607.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/8591607.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/8591607.jpg","size":"extralarge"}],"streamable":"0","mbid":"82682854-c14a-46ba-b2b4-11d08f23a302"},{"name":"Rocks and Cranes","artist":"Brixton Robbers","id":"80348052","url":"http:\/\/www.last.fm\/music\/Brixton+Robbers\/Rocks+and+Cranes","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/47167779.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/47167779.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/47167779.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/47167779.jpg","size":"extralarge"}],"streamable":"1","mbid":"a0c1b000-6222-4377-b449-2926f92fc852"},{"name":"Little Robbers","artist":"Motels","id":"2644261","url":"http:\/\/www.last.fm\/music\/+noredirect\/Motels\/Little+Robbers","image":[{"#text":"http:\/\/images.amazon.com\/images\/P\/B000007OJQ.01._SCMZZZZZZZ_.jpg","size":"small"},{"#text":"http:\/\/images.amazon.com\/images\/P\/B000007OJQ.01._SCMZZZZZZZ_.jpg","size":"medium"},{"#text":"http:\/\/images.amazon.com\/images\/P\/B000007OJQ.01._SCMZZZZZZZ_.jpg","size":"large"},{"#text":"http:\/\/images.amazon.com\/images\/P\/B000007OJQ.01._SCMZZZZZZZ_.jpg","size":"extralarge"}],"streamable":"0","mbid":""},{"name":"Anything Could Happen","artist":"Robbers on High Street","id":"279206912","url":"http:\/\/www.last.fm\/music\/Robbers+on+High+Street\/Anything+Could+Happen","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/76799090.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/76799090.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/76799090.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/76799090.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Hive Robbers","artist":"Hive Robbers","id":"283327963","url":"http:\/\/www.last.fm\/music\/Hive+Robbers\/Hive+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/70484790.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/70484790.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/70484790.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/70484790.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"and robbers","artist":"The Colins of Paradise","id":"3430672","url":"http:\/\/www.last.fm\/music\/The+Colins+of+Paradise\/and+robbers","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Grave Robbers","artist":"Mother Upduff","id":"338048433","url":"http:\/\/www.last.fm\/music\/Mother+Upduff\/Grave+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/94034429.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/94034429.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/94034429.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/94034429.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"24 Robbers","artist":"Dean Mora & Rusty's Rhythm Rascals","id":"308109765","url":"http:\/\/www.last.fm\/music\/Dean+Mora+&+Rusty%27s+Rhythm+Rascals\/24+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/79144939.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/79144939.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/79144939.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/79144939.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Grave Robbers","artist":"Chris Avgoustis","id":"248132592","url":"http:\/\/www.last.fm\/music\/Chris+Avgoustis\/Grave+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/52605787.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/52605787.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/52605787.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/52605787.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"bank robbers","artist":"bankrobberbeats","id":"243678559","url":"http:\/\/www.last.fm\/music\/bankrobberbeats\/bank+robbers","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Cops and Robbers","artist":"Bean","id":"315077766","url":"http:\/\/www.last.fm\/music\/Bean\/Cops+and+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/82206357.png","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/82206357.png","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/82206357.png","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/82206357.png","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Tomorrow Belongs To Me","artist":"The Bank Robbers","id":"2592817","url":"http:\/\/www.last.fm\/music\/The+Bank+Robbers\/Tomorrow+Belongs+To+Me","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/8845667.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/8845667.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/8845667.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/8845667.jpg","size":"extralarge"}],"streamable":"0","mbid":"4d25d9a4-2e28-43e9-b510-9a699c5f2072"},{"name":"Snobs & Robbers","artist":"Niles Philips","id":"290599258","url":"http:\/\/www.last.fm\/music\/Niles+Philips\/Snobs+&+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/71193708.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/71193708.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/71193708.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/71193708.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Cops and Robbers","artist":"The Rolling Stones","id":"2250516","url":"http:\/\/www.last.fm\/music\/The+Rolling+Stones\/Cops+and+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/9717589.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/9717589.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/9717589.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/9717589.jpg","size":"extralarge"}],"streamable":"0","mbid":"17f9639d-80ed-43b4-bfdf-033a3dff1866"},{"name":"Snobs & Robbers Revised","artist":"Niles Philips","id":"315370196","url":"http:\/\/www.last.fm\/music\/Niles+Philips\/Snobs+&+Robbers+Revised","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/82245703.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/82245703.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/82245703.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/82245703.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Cops And Robbers","artist":"Michel Legrand","id":"78901065","url":"http:\/\/www.last.fm\/music\/Michel+Legrand\/Cops+And+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/44667811.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/44667811.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/44667811.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/44667811.jpg","size":"extralarge"}],"streamable":"0","mbid":"1ef00bfb-a71d-430a-97bd-7387334aed1f"},{"name":"Grave Robbers (Vol:1)","artist":"The Brothers Blossom","id":"69019353","url":"http:\/\/www.last.fm\/music\/The+Brothers+Blossom\/Grave+Robbers+(Vol:1)","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/33441633.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/33441633.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/33441633.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/33441633.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"at the robbers' house","artist":"the vitamin b12","id":"3803685","url":"http:\/\/www.last.fm\/music\/the+vitamin+b12\/at+the+robbers%27+house","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/6087175.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/6087175.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/6087175.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/6087175.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Grave Robbers With Guns","artist":"Various Artists","id":"3802977","url":"http:\/\/www.last.fm\/music\/Various+Artists\/Grave+Robbers+With+Guns","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/6071387.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/6071387.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/6071387.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/6071387.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Flesh","artist":"ROBBERS","id":"5365901","url":"http:\/\/www.last.fm\/music\/ROBBERS\/Flesh","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/48417223.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/48417223.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/48417223.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/48417223.jpg","size":"extralarge"}],"streamable":"0","mbid":"856e487b-94d5-4324-a95f-7b167d9bb645"},{"name":"The Robbers Roost","artist":"The Street Pavers","id":"276727005","url":"http:\/\/www.last.fm\/music\/The+Street+Pavers\/The+Robbers+Roost","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/65888262.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/65888262.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/65888262.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/65888262.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Cars, Robbers, Alleys.","artist":"Great Walls","id":"205177903","url":"http:\/\/www.last.fm\/music\/Great+Walls\/Cars,+Robbers,+Alleys.","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/46507983.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/46507983.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/46507983.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/46507983.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Bungalow (Max Robbers Remix)","artist":"Toromeccanica","id":"241998478","url":"http:\/\/www.last.fm\/music\/Toromeccanica\/Bungalow+(Max+Robbers+Remix)","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/49990757.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/49990757.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/49990757.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/49990757.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Rap Game Robbers","artist":"Everlasting Gangstas -A.K.A - E.L.G.","id":"3131879","url":"http:\/\/www.last.fm\/music\/Everlasting+Gangstas+-A.K.A+-+E.L.G.\/Rap+Game+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/8932787.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/8932787.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/8932787.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/8932787.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Armadillo Grave Robbers","artist":"Armadillo Grave Robbers","id":"3863981","url":"http:\/\/www.last.fm\/music\/Armadillo+Grave+Robbers\/Armadillo+Grave+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/7876983.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/7876983.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/7876983.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/7876983.jpg","size":"extralarge"}],"streamable":"0","mbid":""},{"name":"Robbers and Swills","artist":"Highway Robbers","id":"3190602","url":"http:\/\/www.last.fm\/music\/Highway+Robbers\/Robbers+and+Swills","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/8998195.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/8998195.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/8998195.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/8998195.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Cops and Robbers [Single]","artist":"Viper Squadron","id":"74569588","url":"http:\/\/www.last.fm\/music\/Viper+Squadron\/Cops+and+Robbers+%5BSingle%5D","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/30124471.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/30124471.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/30124471.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/30124471.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Cops and Robbers","artist":"Atomic Machines","id":"352391246","url":"http:\/\/www.last.fm\/music\/Atomic+Machines\/Cops+and+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/95578383.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/95578383.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/95578383.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/95578383.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Cops and Robbers","artist":"Various Artists","id":"311688830","url":"http:\/\/www.last.fm\/music\/Various+Artists\/Cops+and+Robbers","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"}],"streamable":"0","mbid":"587e9b39-d356-4d42-b95e-0e185fd21fb3"},{"name":"The Train Robbers","artist":"Dominic Frontiere","id":"312173376","url":"http:\/\/www.last.fm\/music\/Dominic+Frontiere\/The+Train+Robbers","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"}],"streamable":"0","mbid":"7ee8ceb1-b2dd-4a4a-8874-efaffa7bbe67"},{"name":"Rivers and Robbers","artist":"Christopher Alan","id":"296472665","url":"http:\/\/www.last.fm\/music\/Christopher+Alan\/Rivers+and+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/73639012.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/73639012.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/73639012.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/73639012.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"Murderders \uff06 Robbers","artist":"Project Pat","id":"3508177","url":"http:\/\/www.last.fm\/music\/Project+Pat\/Murderders+%EF%BC%86+Robbers","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"}],"streamable":"0","mbid":""},{"name":"Cops and Robbers - Single","artist":"Bean","id":"315268729","url":"http:\/\/www.last.fm\/music\/Bean\/Cops+and+Robbers+-+Single","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/82203405.png","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/82203405.png","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/82203405.png","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/82203405.png","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"I Love Cops 'n' Robbers","artist":"Various Artists","id":"310893787","url":"http:\/\/www.last.fm\/music\/Various+Artists\/I+Love+Cops+%27n%27+Robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/80361835.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/80361835.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/80361835.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/80361835.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"the woman amongst the robbers","artist":"the vitamin b12","id":"3804273","url":"http:\/\/www.last.fm\/music\/the+vitamin+b12\/the+woman+amongst+the+robbers","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/6095275.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/6095275.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/6095275.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/6095275.jpg","size":"extralarge"}],"streamable":"1","mbid":""},{"name":"All Four One \/ Little Robbers","artist":"The Motels","id":"310706510","url":"http:\/\/www.last.fm\/music\/The+Motels\/All+Four+One+%2F+Little+Robbers","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"}],"streamable":"1","mbid":"12d432a9-33c7-486f-a63a-ef5e1f40e611"}]},"@attr":{"for":"Robbers"}}}
|
59
|
+
http_version:
|
60
|
+
recorded_at: Mon, 20 Jan 2014 22:28:07 GMT
|
61
|
+
- request:
|
62
|
+
method: get
|
63
|
+
uri: http://ws.audioscrobbler.com/2.0/?album=Robbers%20%26%20Cowards&api_key=<LASTFM
|
64
|
+
API KEY>&format=json&method=album.search
|
65
|
+
body:
|
66
|
+
encoding: US-ASCII
|
67
|
+
string: ''
|
68
|
+
headers:
|
69
|
+
User-Agent:
|
70
|
+
- Faraday v0.9.0
|
71
|
+
Accept-Encoding:
|
72
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
73
|
+
Accept:
|
74
|
+
- '*/*'
|
75
|
+
response:
|
76
|
+
status:
|
77
|
+
code: 200
|
78
|
+
message: OK
|
79
|
+
headers:
|
80
|
+
Server:
|
81
|
+
- Apache/2.2.22 (Unix)
|
82
|
+
X-Web-Node:
|
83
|
+
- www192
|
84
|
+
Access-Control-Allow-Origin:
|
85
|
+
- '*'
|
86
|
+
Access-Control-Allow-Methods:
|
87
|
+
- POST, GET, OPTIONS
|
88
|
+
Access-Control-Max-Age:
|
89
|
+
- '86400'
|
90
|
+
Cache-Control:
|
91
|
+
- max-age=86400
|
92
|
+
Expires:
|
93
|
+
- Tue, 21 Jan 2014 21:56:08 GMT
|
94
|
+
Content-Type:
|
95
|
+
- application/json; charset=utf-8;
|
96
|
+
Content-Length:
|
97
|
+
- '387'
|
98
|
+
Accept-Ranges:
|
99
|
+
- bytes
|
100
|
+
Date:
|
101
|
+
- Mon, 20 Jan 2014 22:30:59 GMT
|
102
|
+
X-Varnish:
|
103
|
+
- 3106647997 3106084162
|
104
|
+
Age:
|
105
|
+
- '2090'
|
106
|
+
Via:
|
107
|
+
- 1.1 varnish
|
108
|
+
Connection:
|
109
|
+
- close
|
110
|
+
X-Cms:
|
111
|
+
- '1'
|
112
|
+
X-Varnish-Host:
|
113
|
+
- varnish7
|
114
|
+
body:
|
115
|
+
encoding: UTF-8
|
116
|
+
string: |
|
117
|
+
{"results":{"opensearch:Query":{"#text":"","role":"request","searchTerms":"Robbers & Cowards","startPage":"1"},"opensearch:totalResults":"1","opensearch:startIndex":"0","opensearch:itemsPerPage":"50","albummatches":{"album":{"name":"Robbers & Cowards","artist":"Cold War Kids","id":"3251702","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/Robbers+&+Cowards","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/9197957.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/9197957.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/9197957.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/9197957.jpg","size":"extralarge"}],"streamable":"1","mbid":"1cd89dd6-158f-43c8-8a36-70546defb4a9"}},"@attr":{"for":"Robbers & Cowards"}}}
|
118
|
+
http_version:
|
119
|
+
recorded_at: Mon, 20 Jan 2014 22:30:59 GMT
|
120
|
+
- request:
|
121
|
+
method: get
|
122
|
+
uri: http://ws.audioscrobbler.com/2.0/?album=Robbers%20%26%20Cowards&api_key=<LASTFM
|
123
|
+
API KEY>&artist=Cold%20War%20Kids&format=json&method=album.getInfo
|
124
|
+
body:
|
125
|
+
encoding: US-ASCII
|
126
|
+
string: ''
|
127
|
+
headers:
|
128
|
+
User-Agent:
|
129
|
+
- Faraday v0.9.0
|
130
|
+
Accept-Encoding:
|
131
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
132
|
+
Accept:
|
133
|
+
- '*/*'
|
134
|
+
response:
|
135
|
+
status:
|
136
|
+
code: 200
|
137
|
+
message: OK
|
138
|
+
headers:
|
139
|
+
Date:
|
140
|
+
- Mon, 20 Jan 2014 23:01:52 GMT
|
141
|
+
Server:
|
142
|
+
- Apache/2.2.22 (Unix)
|
143
|
+
X-Web-Node:
|
144
|
+
- www232
|
145
|
+
Access-Control-Allow-Origin:
|
146
|
+
- '*'
|
147
|
+
Access-Control-Allow-Methods:
|
148
|
+
- POST, GET, OPTIONS
|
149
|
+
Access-Control-Max-Age:
|
150
|
+
- '86400'
|
151
|
+
Cache-Control:
|
152
|
+
- max-age=86400
|
153
|
+
Expires:
|
154
|
+
- Tue, 21 Jan 2014 23:01:52 GMT
|
155
|
+
Vary:
|
156
|
+
- Accept-Encoding
|
157
|
+
Content-Length:
|
158
|
+
- '1185'
|
159
|
+
Connection:
|
160
|
+
- close
|
161
|
+
Content-Type:
|
162
|
+
- application/json; charset=utf-8;
|
163
|
+
body:
|
164
|
+
encoding: UTF-8
|
165
|
+
string: |
|
166
|
+
{"album":{"name":"Robbers & Cowards","artist":"Cold War Kids","id":"3251702","mbid":"1cd89dd6-158f-43c8-8a36-70546defb4a9","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/Robbers+&+Cowards","releasedate":" 11 Nov 2008, 00:00","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/9197957.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/9197957.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/174s\/9197957.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/9197957.jpg","size":"extralarge"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/_\/9197957\/Robbers++Cowards+Cold+War+Kids++Robbers++Coward.jpg","size":"mega"}],"listeners":"333892","playcount":"7387537","tracks":{"track":[{"name":"We Used to Vacation","duration":"241","mbid":"82b38cde-d4c0-4d41-b4eb-d230287c8784","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/We+Used+to+Vacation","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"1"}},{"name":"Hang Me Up to Dry","duration":"216","mbid":"0828547a-fea2-4cbb-97d8-c2bf35874d80","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Hang+Me+Up+to+Dry","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"2"}},{"name":"Tell Me in the Morning","duration":"217","mbid":"1280ef5b-d75a-43ce-a9bb-da6fff5deaf5","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Tell+Me+in+the+Morning","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"3"}},{"name":"Hair Down","duration":"220","mbid":"08cb4c8b-652a-4e77-a576-603dda422dd5","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Hair+Down","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"4"}},{"name":"Passing the Hat","duration":"207","mbid":"081245cb-b177-49b1-b69f-e70c408d01f3","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Passing+the+Hat","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"5"}},{"name":"Saint John","duration":"206","mbid":"b700456c-39d4-4ee8-bd5b-5a155139ce0d","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Saint+John","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"6"}},{"name":"Robbers","duration":"218","mbid":"33cc1c64-e62f-4edd-ad2a-d1eca284a128","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Robbers","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"7"}},{"name":"Hospital Beds","duration":"279","mbid":"1fffaed8-2e23-41a4-978f-a71090b445e2","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Hospital+Beds","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"8"}},{"name":"Pregnant","duration":"237","mbid":"9385ef17-c56c-4bb1-b9de-8d76870801de","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Pregnant","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"9"}},{"name":"Red Wine, Success!","duration":"154","mbid":"d73152c8-30c7-47d7-9cd9-3040437a5871","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Red+Wine,+Success!","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"10"}},{"name":"God, Make Up Your Mind","duration":"286","mbid":"26720c8c-b1dc-4472-96d6-1a146be5d439","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/God,+Make+Up+Your+Mind","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"11"}},{"name":"Rubidoux","duration":"662","mbid":"fef06096-ca5f-496e-a976-a40c55fe63cf","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids\/_\/Rubidoux","streamable":{"#text":"1","fulltrack":"0"},"artist":{"name":"Cold War Kids","mbid":"0741b30d-e15b-4a8c-b2e5-8834a03d6116","url":"http:\/\/www.last.fm\/music\/Cold+War+Kids"},"@attr":{"rank":"12"}}]},"toptags":{"tag":[{"name":"albums i own","url":"http:\/\/www.last.fm\/tag\/albums%20i%20own"},{"name":"2006","url":"http:\/\/www.last.fm\/tag\/2006"},{"name":"indie","url":"http:\/\/www.last.fm\/tag\/indie"},{"name":"indie rock","url":"http:\/\/www.last.fm\/tag\/indie%20rock"},{"name":"00s","url":"http:\/\/www.last.fm\/tag\/00s"}]}}}
|
167
|
+
http_version:
|
168
|
+
recorded_at: Mon, 20 Jan 2014 23:01:52 GMT
|
169
|
+
recorded_with: VCR 2.8.0
|
@@ -0,0 +1,59 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://ws.audioscrobbler.com/2.0/?api_key=<LASTFM API KEY>&artist=65daysofstatic&format=json&method=artist.search
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- '*/*'
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- Apache/2.2.22 (Unix)
|
23
|
+
X-Web-Node:
|
24
|
+
- www202
|
25
|
+
Access-Control-Allow-Origin:
|
26
|
+
- '*'
|
27
|
+
Access-Control-Allow-Methods:
|
28
|
+
- POST, GET, OPTIONS
|
29
|
+
Access-Control-Max-Age:
|
30
|
+
- '86400'
|
31
|
+
Cache-Control:
|
32
|
+
- max-age=86400
|
33
|
+
Expires:
|
34
|
+
- Tue, 21 Jan 2014 21:35:39 GMT
|
35
|
+
Content-Type:
|
36
|
+
- application/json; charset=utf-8;
|
37
|
+
Content-Length:
|
38
|
+
- '959'
|
39
|
+
Accept-Ranges:
|
40
|
+
- bytes
|
41
|
+
Date:
|
42
|
+
- Mon, 20 Jan 2014 21:55:56 GMT
|
43
|
+
X-Varnish:
|
44
|
+
- 61520390 61379634
|
45
|
+
Age:
|
46
|
+
- '492'
|
47
|
+
Via:
|
48
|
+
- 1.1 varnish
|
49
|
+
Connection:
|
50
|
+
- close
|
51
|
+
X-Cms:
|
52
|
+
- '1'
|
53
|
+
body:
|
54
|
+
encoding: UTF-8
|
55
|
+
string: |
|
56
|
+
{"results":{"opensearch:Query":{"#text":"","role":"request","searchTerms":"65daysofstatic","startPage":"1"},"opensearch:totalResults":"68","opensearch:startIndex":"0","opensearch:itemsPerPage":"30","artistmatches":{"artist":[{"name":"65daysofstatic","listeners":"436704","mbid":"0cd12ab3-9628-45ef-a97b-ff18624f14a0","url":"http:\/\/www.last.fm\/music\/65daysofstatic","streamable":"1","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34\/46404977.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64\/46404977.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/46404977.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/252\/46404977.jpg","size":"extralarge"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/_\/46404977\/65daysofstatic+4312266316_916a42bda8.jpg","size":"mega"}]},{"name":"\u259165daysofstatic\u2591","listeners":"991","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%96%9165daysofstatic%E2%96%91","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic, 65daysofstatic","listeners":"5","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic,+65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"|65daysofstatic","listeners":"88","mbid":"","url":"http:\/\/www.last.fm\/music\/%7C65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"[65daysofstatic","listeners":"11","mbid":"","url":"http:\/\/www.last.fm\/music\/%5B65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"[65daysofstatic]","listeners":"7","mbid":"","url":"http:\/\/www.last.fm\/music\/%5B65daysofstatic%5D","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"\u25ba65daysofstatic","listeners":"6","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%96%BA65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic.","listeners":"6","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic.","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"\u266b65daysofstatic","listeners":"5","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%99%AB65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic\u0700","listeners":"5","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic%DC%80","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65*daysofstatic","listeners":"4","mbid":"","url":"http:\/\/www.last.fm\/music\/65*daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"\u260565daysofstatic\u2605","listeners":"4","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%98%8565daysofstatic%E2%98%85","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic*","listeners":"3","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic*","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":".65daysofstatic","listeners":"3","mbid":"","url":"http:\/\/www.last.fm\/music\/.65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65 daysofstatic","listeners":"3","mbid":"","url":"http:\/\/www.last.fm\/music\/65++daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"\u25cf65daysofstatic","listeners":"3","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%97%8F65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic?","listeners":"3","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic%3F","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic, Robert Smith","listeners":"68","mbid":"","url":"http:\/\/www.last.fm\/music\/+noredirect\/65daysofstatic,+Robert+Smith","streamable":"1","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"15. 65daysofstatic","listeners":"22","mbid":"","url":"http:\/\/www.last.fm\/music\/15.+65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic\/Robert Smith","listeners":"22","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic%2FRobert+Smith","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic [vkhp.net]","listeners":"20","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic+%5Bvkhp.net%5D","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic & Cecily","listeners":"10","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic+&+Cecily","streamable":"1","image":[{"#text":"http:\/\/userserve-ak.last.fm\/serve\/34\/10459323.jpg","size":"small"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/64\/10459323.jpg","size":"medium"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/126\/10459323.jpg","size":"large"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/252\/10459323.jpg","size":"extralarge"},{"#text":"http:\/\/userserve-ak.last.fm\/serve\/500\/10459323\/65daysofstatic++Cecily+Ronjahochlad.jpg","size":"mega"}]},{"name":"65daysofstatic Vs. Kanye","listeners":"7","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic+Vs.+Kanye","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"\u266b 65daysofstatic \u266b","listeners":"6","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%99%AB+65daysofstatic+%E2%99%AB","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"\u266b 65daysofstatic","listeners":"5","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%99%AB+65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"\u23b7\u239b -65daysofstatic","listeners":"5","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%8E%B7%E2%8E%9B+-65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"\u2716 65daysofstatic","listeners":"5","mbid":"","url":"http:\/\/www.last.fm\/music\/%E2%9C%96+65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"a65daysofstatic","listeners":"5","mbid":"","url":"http:\/\/www.last.fm\/music\/a65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"65daysofstatic Vs Everyone","listeners":"5","mbid":"","url":"http:\/\/www.last.fm\/music\/65daysofstatic+Vs+Everyone","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]},{"name":"05. 65daysofstatic","listeners":"4","mbid":"","url":"http:\/\/www.last.fm\/music\/05.+65daysofstatic","streamable":"0","image":[{"#text":"","size":"small"},{"#text":"","size":"medium"},{"#text":"","size":"large"},{"#text":"","size":"extralarge"},{"#text":"","size":"mega"}]}]},"@attr":{"for":"65daysofstatic"}}}
|
57
|
+
http_version:
|
58
|
+
recorded_at: Mon, 20 Jan 2014 21:43:52 GMT
|
59
|
+
recorded_with: VCR 2.8.0
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RubyFm::Album, :vcr do
|
4
|
+
context 'searching' do
|
5
|
+
it 'returns a list of relevant albums' do
|
6
|
+
album_name = 'Robbers & Cowards'
|
7
|
+
results = RubyFm::Album.search(album_name)
|
8
|
+
|
9
|
+
images = ["http://userserve-ak.last.fm/serve/34s/9197957.jpg",
|
10
|
+
"http://userserve-ak.last.fm/serve/64s/9197957.jpg",
|
11
|
+
"http://userserve-ak.last.fm/serve/126/9197957.jpg",
|
12
|
+
"http://userserve-ak.last.fm/serve/300x300/9197957.jpg"]
|
13
|
+
|
14
|
+
expect(results.size).to_not eql(0)
|
15
|
+
expect(results[0]).to be_kind_of(RubyFm::Album)
|
16
|
+
expect(results[0].name).to eql(album_name)
|
17
|
+
expect(results[0].artist).to eql('Cold War Kids')
|
18
|
+
expect(results[0].id).to eql('3251702')
|
19
|
+
expect(results[0].mbid).to eql('1cd89dd6-158f-43c8-8a36-70546defb4a9')
|
20
|
+
expect(results[0].url).to eql('http://www.last.fm/music/Cold+War+Kids/Robbers+&+Cowards')
|
21
|
+
expect(results[0].images).to eql(images)
|
22
|
+
expect(results[0].streamable).to eql('1')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'get tracks' do
|
27
|
+
it 'returns a list of tracks for the album' do
|
28
|
+
album_name = 'Robbers & Cowards'
|
29
|
+
album = RubyFm::Album.search(album_name)[0]
|
30
|
+
|
31
|
+
expect(album.tracks[0]).to be_kind_of(RubyFm::Track)
|
32
|
+
expect(album.tracks.size).to_not eql(0)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RubyFm::Artist, :vcr do
|
4
|
+
context 'searching' do
|
5
|
+
it 'returns a list of relevant artists' do
|
6
|
+
artist_name = '65daysofstatic'
|
7
|
+
results = RubyFm::Artist.search(artist_name)
|
8
|
+
|
9
|
+
images = ["http://userserve-ak.last.fm/serve/34/46404977.jpg",
|
10
|
+
"http://userserve-ak.last.fm/serve/64/46404977.jpg",
|
11
|
+
"http://userserve-ak.last.fm/serve/126/46404977.jpg",
|
12
|
+
"http://userserve-ak.last.fm/serve/252/46404977.jpg",
|
13
|
+
"http://userserve-ak.last.fm/serve/_/46404977/65daysofstatic+4312266316_916a42bda8.jpg"]
|
14
|
+
|
15
|
+
expect(results.size).to_not eql(0)
|
16
|
+
expect(results[0]).to be_kind_of(RubyFm::Artist)
|
17
|
+
expect(results[0].name).to eql(artist_name)
|
18
|
+
expect(results[0].listeners).to eql('436704')
|
19
|
+
expect(results[0].mbid).to eql('0cd12ab3-9628-45ef-a97b-ff18624f14a0')
|
20
|
+
expect(results[0].url).to eql('http://www.last.fm/music/65daysofstatic')
|
21
|
+
expect(results[0].streamable).to eql('1')
|
22
|
+
expect(results[0].images).to eql(images)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'vcr'
|
3
|
+
require_relative '../lib/ruby_fm'
|
4
|
+
|
5
|
+
RubyFm.api_key = ENV['last_fm_api_key']
|
6
|
+
|
7
|
+
VCR.configure do |c|
|
8
|
+
c.cassette_library_dir = 'spec/cassettes'
|
9
|
+
c.hook_into :webmock
|
10
|
+
c.configure_rspec_metadata!
|
11
|
+
c.default_cassette_options = { :record => :new_episodes }
|
12
|
+
c.filter_sensitive_data('<LASTFM API KEY>') { RubyFm.api_key }
|
13
|
+
end
|
14
|
+
|
15
|
+
RSpec.configure do |c|
|
16
|
+
c.treat_symbols_as_metadata_keys_with_true_values = true
|
17
|
+
end
|
metadata
ADDED
@@ -0,0 +1,179 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ruby_fm
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Daniel Carter
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-01-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: multi_json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: webmock
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: vcr
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
description: Wrapper for using the Last FM API
|
126
|
+
email:
|
127
|
+
- dnyecarter@gmail.com
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- .gitignore
|
133
|
+
- Gemfile
|
134
|
+
- LICENSE.txt
|
135
|
+
- README.md
|
136
|
+
- Rakefile
|
137
|
+
- lib/ruby_fm.rb
|
138
|
+
- lib/ruby_fm/album.rb
|
139
|
+
- lib/ruby_fm/artist.rb
|
140
|
+
- lib/ruby_fm/track.rb
|
141
|
+
- lib/ruby_fm/version.rb
|
142
|
+
- ruby_fm.gemspec
|
143
|
+
- spec/cassettes/RubyFm_Album/get_tracks/returns_a_list_of_tracks_for_the_album.yml
|
144
|
+
- spec/cassettes/RubyFm_Album/searching/returns_a_list_of_relevant_albums.yml
|
145
|
+
- spec/cassettes/RubyFm_Artist/searching/returns_a_list_of_relevant_artists.yml
|
146
|
+
- spec/ruby_fm/album_spec.rb
|
147
|
+
- spec/ruby_fm/artist_spec.rb
|
148
|
+
- spec/spec_helper.rb
|
149
|
+
homepage: ''
|
150
|
+
licenses:
|
151
|
+
- MIT
|
152
|
+
metadata: {}
|
153
|
+
post_install_message:
|
154
|
+
rdoc_options: []
|
155
|
+
require_paths:
|
156
|
+
- lib
|
157
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
158
|
+
requirements:
|
159
|
+
- - '>='
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
162
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
requirements: []
|
168
|
+
rubyforge_project:
|
169
|
+
rubygems_version: 2.1.10
|
170
|
+
signing_key:
|
171
|
+
specification_version: 4
|
172
|
+
summary: Wrapper for using the Last FM API using Faraday, VCS, and RSpec
|
173
|
+
test_files:
|
174
|
+
- spec/cassettes/RubyFm_Album/get_tracks/returns_a_list_of_tracks_for_the_album.yml
|
175
|
+
- spec/cassettes/RubyFm_Album/searching/returns_a_list_of_relevant_albums.yml
|
176
|
+
- spec/cassettes/RubyFm_Artist/searching/returns_a_list_of_relevant_artists.yml
|
177
|
+
- spec/ruby_fm/album_spec.rb
|
178
|
+
- spec/ruby_fm/artist_spec.rb
|
179
|
+
- spec/spec_helper.rb
|