songkickr 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: