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 CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- songkickr (0.2.2)
4
+ songkickr (0.3.1)
5
5
  songkickr
6
6
 
7
7
  GEM
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
@@ -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.0"
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-09-29"
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.0
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-09-29 00:00:00.000000000 Z
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: -1312214819923393678
1056
+ hash: -220664448287447055
911
1057
  required_rubygems_version: !ruby/object:Gem::Requirement
912
1058
  none: false
913
1059
  requirements: