songkickr 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/lib/songkickr/remote.rb +12 -0
- data/songkickr.gemspec +31 -2
- data/test/fixtures/vcr/invalid_artist_id.yml +33 -0
- data/test/fixtures/vcr/valid_artist.yml +36 -0
- data/test/songkickr/test_remote.rb +15 -0
- metadata +149 -3
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/lib/songkickr/remote.rb
CHANGED
@@ -69,6 +69,18 @@ module Songkickr
|
|
69
69
|
Songkickr::EventResult.new result
|
70
70
|
end
|
71
71
|
|
72
|
+
# === Artist API
|
73
|
+
# Undocumented, but it works fine
|
74
|
+
#
|
75
|
+
# Returns an artist object
|
76
|
+
#
|
77
|
+
# === Parameters
|
78
|
+
# * +artist_id+ - Songkick artist_id, use artist_search to get it
|
79
|
+
def artist(artist_id)
|
80
|
+
result = get("/artists/#{artist_id}.json")
|
81
|
+
Songkickr::Artist.new result["resultsPage"]["results"]["artist"]
|
82
|
+
end
|
83
|
+
|
72
84
|
# ==== Artist Search API
|
73
85
|
# Returns Artist objects.
|
74
86
|
#
|
data/songkickr.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "songkickr"
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jared Mehle"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-10-19"
|
13
13
|
s.description = "A Ruby wrapper around the Songkick API. Visit www.songkick.com/developer for documentation on the Songkick API. "
|
14
14
|
s.email = "jrmehle@gmail.com"
|
15
15
|
s.executables = ["autospec", "convert_to_should_syntax", "guard", "htmldiff", "httparty", "jeweler", "ldiff", "rake", "rake2thor", "rg", "ri", "rspec", "thor"]
|
@@ -127,9 +127,11 @@ Gem::Specification.new do |s|
|
|
127
127
|
"test/fixtures/no_events.json",
|
128
128
|
"test/fixtures/resource_not_found.json",
|
129
129
|
"test/fixtures/vcr/invalid_api_key.yml",
|
130
|
+
"test/fixtures/vcr/invalid_artist_id.yml",
|
130
131
|
"test/fixtures/vcr/invalid_event_id.yml",
|
131
132
|
"test/fixtures/vcr/invalid_user.yml",
|
132
133
|
"test/fixtures/vcr/invalid_venue_id.yml",
|
134
|
+
"test/fixtures/vcr/valid_artist.yml",
|
133
135
|
"test/fixtures/vcr/valid_event.yml",
|
134
136
|
"test/fixtures/vcr/valid_user.yml",
|
135
137
|
"test/fixtures/vcr/valid_venue.yml",
|
@@ -198,6 +200,15 @@ Gem::Specification.new do |s|
|
|
198
200
|
s.add_development_dependency(%q<shoulda>, [">= 2.11.0"])
|
199
201
|
s.add_development_dependency(%q<fakeweb>, [">= 1.3.0"])
|
200
202
|
s.add_development_dependency(%q<redgreen>, [">= 1.2.2"])
|
203
|
+
s.add_development_dependency(%q<crack>, [">= 0"])
|
204
|
+
s.add_development_dependency(%q<httparty>, [">= 0"])
|
205
|
+
s.add_development_dependency(%q<test-unit>, [">= 0"])
|
206
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
207
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
208
|
+
s.add_development_dependency(%q<vcr>, [">= 0"])
|
209
|
+
s.add_development_dependency(%q<shoulda>, [">= 2.11.0"])
|
210
|
+
s.add_development_dependency(%q<fakeweb>, [">= 1.3.0"])
|
211
|
+
s.add_development_dependency(%q<redgreen>, [">= 1.2.2"])
|
201
212
|
else
|
202
213
|
s.add_dependency(%q<songkickr>, [">= 0"])
|
203
214
|
s.add_dependency(%q<shoulda>, [">= 2.11.0"])
|
@@ -245,6 +256,15 @@ Gem::Specification.new do |s|
|
|
245
256
|
s.add_dependency(%q<shoulda>, [">= 2.11.0"])
|
246
257
|
s.add_dependency(%q<fakeweb>, [">= 1.3.0"])
|
247
258
|
s.add_dependency(%q<redgreen>, [">= 1.2.2"])
|
259
|
+
s.add_dependency(%q<crack>, [">= 0"])
|
260
|
+
s.add_dependency(%q<httparty>, [">= 0"])
|
261
|
+
s.add_dependency(%q<test-unit>, [">= 0"])
|
262
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
263
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
264
|
+
s.add_dependency(%q<vcr>, [">= 0"])
|
265
|
+
s.add_dependency(%q<shoulda>, [">= 2.11.0"])
|
266
|
+
s.add_dependency(%q<fakeweb>, [">= 1.3.0"])
|
267
|
+
s.add_dependency(%q<redgreen>, [">= 1.2.2"])
|
248
268
|
end
|
249
269
|
else
|
250
270
|
s.add_dependency(%q<songkickr>, [">= 0"])
|
@@ -293,6 +313,15 @@ Gem::Specification.new do |s|
|
|
293
313
|
s.add_dependency(%q<shoulda>, [">= 2.11.0"])
|
294
314
|
s.add_dependency(%q<fakeweb>, [">= 1.3.0"])
|
295
315
|
s.add_dependency(%q<redgreen>, [">= 1.2.2"])
|
316
|
+
s.add_dependency(%q<crack>, [">= 0"])
|
317
|
+
s.add_dependency(%q<httparty>, [">= 0"])
|
318
|
+
s.add_dependency(%q<test-unit>, [">= 0"])
|
319
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
320
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
321
|
+
s.add_dependency(%q<vcr>, [">= 0"])
|
322
|
+
s.add_dependency(%q<shoulda>, [">= 2.11.0"])
|
323
|
+
s.add_dependency(%q<fakeweb>, [">= 1.3.0"])
|
324
|
+
s.add_dependency(%q<redgreen>, [">= 1.2.2"])
|
296
325
|
end
|
297
326
|
end
|
298
327
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.songkick.com/api/3.0/artists/123123123123123123123123.json?apikey=hFYxiInE4DBpH5KL
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 404
|
13
|
+
message: Not Found
|
14
|
+
headers:
|
15
|
+
date:
|
16
|
+
- Fri, 05 Oct 2012 18:31:13 GMT
|
17
|
+
server:
|
18
|
+
- thin 1.2.4 codename Flaming Astroboy
|
19
|
+
content-type:
|
20
|
+
- application/json
|
21
|
+
vary:
|
22
|
+
- Accept-Encoding
|
23
|
+
connection:
|
24
|
+
- close
|
25
|
+
transfer-encoding:
|
26
|
+
- chunked
|
27
|
+
body:
|
28
|
+
encoding: US-ASCII
|
29
|
+
string: ! '{"resultsPage":{"status":"error","error":{"message":"Resource not
|
30
|
+
found"}}}'
|
31
|
+
http_version: '1.1'
|
32
|
+
recorded_at: Fri, 05 Oct 2012 18:31:13 GMT
|
33
|
+
recorded_with: VCR 2.2.4
|
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.songkick.com/api/3.0/artists/253846.json?apikey=hFYxiInE4DBpH5KL
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
date:
|
16
|
+
- Fri, 05 Oct 2012 18:25:50 GMT
|
17
|
+
server:
|
18
|
+
- thin 1.2.4 codename Flaming Astroboy
|
19
|
+
content-type:
|
20
|
+
- application/json
|
21
|
+
expires:
|
22
|
+
- Fri, 05 Oct 2012 19:25:50 GMT
|
23
|
+
cache-control:
|
24
|
+
- private, max-age=3600
|
25
|
+
vary:
|
26
|
+
- Accept-Encoding
|
27
|
+
connection:
|
28
|
+
- close
|
29
|
+
transfer-encoding:
|
30
|
+
- chunked
|
31
|
+
body:
|
32
|
+
encoding: US-ASCII
|
33
|
+
string: ! '{"resultsPage":{"results":{"artist":{"uri":"http:\/\/www.songkick.com\/artists\/253846-radiohead?utm_source=4791&utm_medium=partner","displayName":"Radiohead","id":253846,"onTourUntil":"2012-11-17","identifier":[{"href":"http:\/\/api.songkick.com\/api\/3.0\/artists\/mbid:a74b1b7f-71a5-4011-9441-d0b5e4122711.json","eventsHref":"http:\/\/api.songkick.com\/api\/3.0\/artists\/mbid:a74b1b7f-71a5-4011-9441-d0b5e4122711\/calendar.json","mbid":"a74b1b7f-71a5-4011-9441-d0b5e4122711","setlistsHref":"http:\/\/api.songkick.com\/api\/3.0\/artists\/mbid:a74b1b7f-71a5-4011-9441-d0b5e4122711\/setlists.json"}]}},"status":"ok"}}'
|
34
|
+
http_version: '1.1'
|
35
|
+
recorded_at: Fri, 05 Oct 2012 18:25:50 GMT
|
36
|
+
recorded_with: VCR 2.2.4
|
@@ -15,6 +15,14 @@ class TestRemote < Test::Unit::TestCase
|
|
15
15
|
@remote = Songkickr::Remote.new api_key
|
16
16
|
end
|
17
17
|
|
18
|
+
should "raise a ResourceNotFound exception when search a songkick artist id doesn't exist" do
|
19
|
+
VCR.use_cassette('invalid_artist_id') do
|
20
|
+
assert_raise ResourceNotFound do
|
21
|
+
@remote.artist(123123123123123123123123)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
18
26
|
should "raise a ResourceNotFound exception when search a songkick event id doesn't exist" do
|
19
27
|
VCR.use_cassette('invalid_event_id') do
|
20
28
|
assert_raise ResourceNotFound do
|
@@ -66,6 +74,13 @@ class TestRemote < Test::Unit::TestCase
|
|
66
74
|
@remote = Songkickr::Remote.new api_key
|
67
75
|
end
|
68
76
|
|
77
|
+
should "return the correct artist for an existing artist id " do
|
78
|
+
VCR.use_cassette('valid_artist') do
|
79
|
+
result = @remote.artist(253846)
|
80
|
+
assert_equal 253846, result.id
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
69
84
|
should "return the correct event for an existing event id " do
|
70
85
|
VCR.use_cassette('valid_event') do
|
71
86
|
result = @remote.event(17522)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: songkickr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: songkickr
|
@@ -747,6 +747,150 @@ dependencies:
|
|
747
747
|
- - ! '>='
|
748
748
|
- !ruby/object:Gem::Version
|
749
749
|
version: 1.2.2
|
750
|
+
- !ruby/object:Gem::Dependency
|
751
|
+
name: crack
|
752
|
+
requirement: !ruby/object:Gem::Requirement
|
753
|
+
none: false
|
754
|
+
requirements:
|
755
|
+
- - ! '>='
|
756
|
+
- !ruby/object:Gem::Version
|
757
|
+
version: '0'
|
758
|
+
type: :development
|
759
|
+
prerelease: false
|
760
|
+
version_requirements: !ruby/object:Gem::Requirement
|
761
|
+
none: false
|
762
|
+
requirements:
|
763
|
+
- - ! '>='
|
764
|
+
- !ruby/object:Gem::Version
|
765
|
+
version: '0'
|
766
|
+
- !ruby/object:Gem::Dependency
|
767
|
+
name: httparty
|
768
|
+
requirement: !ruby/object:Gem::Requirement
|
769
|
+
none: false
|
770
|
+
requirements:
|
771
|
+
- - ! '>='
|
772
|
+
- !ruby/object:Gem::Version
|
773
|
+
version: '0'
|
774
|
+
type: :development
|
775
|
+
prerelease: false
|
776
|
+
version_requirements: !ruby/object:Gem::Requirement
|
777
|
+
none: false
|
778
|
+
requirements:
|
779
|
+
- - ! '>='
|
780
|
+
- !ruby/object:Gem::Version
|
781
|
+
version: '0'
|
782
|
+
- !ruby/object:Gem::Dependency
|
783
|
+
name: test-unit
|
784
|
+
requirement: !ruby/object:Gem::Requirement
|
785
|
+
none: false
|
786
|
+
requirements:
|
787
|
+
- - ! '>='
|
788
|
+
- !ruby/object:Gem::Version
|
789
|
+
version: '0'
|
790
|
+
type: :development
|
791
|
+
prerelease: false
|
792
|
+
version_requirements: !ruby/object:Gem::Requirement
|
793
|
+
none: false
|
794
|
+
requirements:
|
795
|
+
- - ! '>='
|
796
|
+
- !ruby/object:Gem::Version
|
797
|
+
version: '0'
|
798
|
+
- !ruby/object:Gem::Dependency
|
799
|
+
name: rake
|
800
|
+
requirement: !ruby/object:Gem::Requirement
|
801
|
+
none: false
|
802
|
+
requirements:
|
803
|
+
- - ! '>='
|
804
|
+
- !ruby/object:Gem::Version
|
805
|
+
version: '0'
|
806
|
+
type: :development
|
807
|
+
prerelease: false
|
808
|
+
version_requirements: !ruby/object:Gem::Requirement
|
809
|
+
none: false
|
810
|
+
requirements:
|
811
|
+
- - ! '>='
|
812
|
+
- !ruby/object:Gem::Version
|
813
|
+
version: '0'
|
814
|
+
- !ruby/object:Gem::Dependency
|
815
|
+
name: jeweler
|
816
|
+
requirement: !ruby/object:Gem::Requirement
|
817
|
+
none: false
|
818
|
+
requirements:
|
819
|
+
- - ! '>='
|
820
|
+
- !ruby/object:Gem::Version
|
821
|
+
version: '0'
|
822
|
+
type: :development
|
823
|
+
prerelease: false
|
824
|
+
version_requirements: !ruby/object:Gem::Requirement
|
825
|
+
none: false
|
826
|
+
requirements:
|
827
|
+
- - ! '>='
|
828
|
+
- !ruby/object:Gem::Version
|
829
|
+
version: '0'
|
830
|
+
- !ruby/object:Gem::Dependency
|
831
|
+
name: vcr
|
832
|
+
requirement: !ruby/object:Gem::Requirement
|
833
|
+
none: false
|
834
|
+
requirements:
|
835
|
+
- - ! '>='
|
836
|
+
- !ruby/object:Gem::Version
|
837
|
+
version: '0'
|
838
|
+
type: :development
|
839
|
+
prerelease: false
|
840
|
+
version_requirements: !ruby/object:Gem::Requirement
|
841
|
+
none: false
|
842
|
+
requirements:
|
843
|
+
- - ! '>='
|
844
|
+
- !ruby/object:Gem::Version
|
845
|
+
version: '0'
|
846
|
+
- !ruby/object:Gem::Dependency
|
847
|
+
name: shoulda
|
848
|
+
requirement: !ruby/object:Gem::Requirement
|
849
|
+
none: false
|
850
|
+
requirements:
|
851
|
+
- - ! '>='
|
852
|
+
- !ruby/object:Gem::Version
|
853
|
+
version: 2.11.0
|
854
|
+
type: :development
|
855
|
+
prerelease: false
|
856
|
+
version_requirements: !ruby/object:Gem::Requirement
|
857
|
+
none: false
|
858
|
+
requirements:
|
859
|
+
- - ! '>='
|
860
|
+
- !ruby/object:Gem::Version
|
861
|
+
version: 2.11.0
|
862
|
+
- !ruby/object:Gem::Dependency
|
863
|
+
name: fakeweb
|
864
|
+
requirement: !ruby/object:Gem::Requirement
|
865
|
+
none: false
|
866
|
+
requirements:
|
867
|
+
- - ! '>='
|
868
|
+
- !ruby/object:Gem::Version
|
869
|
+
version: 1.3.0
|
870
|
+
type: :development
|
871
|
+
prerelease: false
|
872
|
+
version_requirements: !ruby/object:Gem::Requirement
|
873
|
+
none: false
|
874
|
+
requirements:
|
875
|
+
- - ! '>='
|
876
|
+
- !ruby/object:Gem::Version
|
877
|
+
version: 1.3.0
|
878
|
+
- !ruby/object:Gem::Dependency
|
879
|
+
name: redgreen
|
880
|
+
requirement: !ruby/object:Gem::Requirement
|
881
|
+
none: false
|
882
|
+
requirements:
|
883
|
+
- - ! '>='
|
884
|
+
- !ruby/object:Gem::Version
|
885
|
+
version: 1.2.2
|
886
|
+
type: :development
|
887
|
+
prerelease: false
|
888
|
+
version_requirements: !ruby/object:Gem::Requirement
|
889
|
+
none: false
|
890
|
+
requirements:
|
891
|
+
- - ! '>='
|
892
|
+
- !ruby/object:Gem::Version
|
893
|
+
version: 1.2.2
|
750
894
|
description: ! 'A Ruby wrapper around the Songkick API. Visit www.songkick.com/developer
|
751
895
|
for documentation on the Songkick API. '
|
752
896
|
email: jrmehle@gmail.com
|
@@ -878,9 +1022,11 @@ files:
|
|
878
1022
|
- test/fixtures/no_events.json
|
879
1023
|
- test/fixtures/resource_not_found.json
|
880
1024
|
- test/fixtures/vcr/invalid_api_key.yml
|
1025
|
+
- test/fixtures/vcr/invalid_artist_id.yml
|
881
1026
|
- test/fixtures/vcr/invalid_event_id.yml
|
882
1027
|
- test/fixtures/vcr/invalid_user.yml
|
883
1028
|
- test/fixtures/vcr/invalid_venue_id.yml
|
1029
|
+
- test/fixtures/vcr/valid_artist.yml
|
884
1030
|
- test/fixtures/vcr/valid_event.yml
|
885
1031
|
- test/fixtures/vcr/valid_user.yml
|
886
1032
|
- test/fixtures/vcr/valid_venue.yml
|
@@ -907,7 +1053,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
907
1053
|
version: '0'
|
908
1054
|
segments:
|
909
1055
|
- 0
|
910
|
-
hash: -
|
1056
|
+
hash: -220664448287447055
|
911
1057
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
912
1058
|
none: false
|
913
1059
|
requirements:
|