songkick_ruby 1.2.0 → 1.2.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.
@@ -1,61 +1,59 @@
1
1
  module Songkick
2
- class Client
3
2
  module Calendar
4
3
 
5
- # Find upcoming events for an artist
6
- #
7
- # Example:
8
- # sg = Songkick.new("myapikey")
9
- # events = sg.artist_calendar(123)
10
- # or events = sg.artist_calendar(123, 2)
11
- #
12
- # The first argument is the artist_id
13
- # and the second argument is the page number,
14
- # by default it is set to 1
15
- def artist_calendar(artist_id, page = 1)
16
- get "artists/#{artist_id}/calendar.#{format}", page
17
- end
4
+ # Find upcoming events for an artist
5
+ #
6
+ # Example:
7
+ # sg = Songkick.new("myapikey")
8
+ # events = sg.artist_calendar(123)
9
+ # or events = sg.artist_calendar(123, 2)
10
+ #
11
+ # The first argument is the artist_id
12
+ # and the second argument is the page number,
13
+ # by default it is set to 1
14
+ def artist_calendar(artist_id, page = 1)
15
+ get "artists/#{artist_id}/calendar.#{format}", page
16
+ end
18
17
 
19
- # Find upcoming events for a location
20
- #
21
- # Example:
22
- # sg = Songkick.new("myapikey")
23
- # events = sg.location_calendar(123)
24
- # or events = sg.location_calendar(123, 2)
25
- #
26
- # The first argument is the artist_id
27
- # and the second argument is the page number,
28
- # by default it is set to 1
29
- def location_calendar(location_id, page = 1)
30
- get "metro_areas/#{location_id}/calendar.#{format}", page
31
- end
18
+ # Find upcoming events for a location
19
+ #
20
+ # Example:
21
+ # sg = Songkick.new("myapikey")
22
+ # events = sg.location_calendar(123)
23
+ # or events = sg.location_calendar(123, 2)
24
+ #
25
+ # The first argument is the artist_id
26
+ # and the second argument is the page number,
27
+ # by default it is set to 1
28
+ def location_calendar(location_id, page = 1)
29
+ get "metro_areas/#{location_id}/calendar.#{format}", page
30
+ end
32
31
 
33
- # Find upcoming events for a user
34
- #
35
- # Example:
36
- # sg = Songkick.new("myapikey")
37
- # events = sg.users(123)
38
- # or events = sg.users(123, 2)
39
- #
40
- # The first argument is the artist_id
41
- # and the second argument is the page number,
42
- # by default it is set to 1
43
- def user_calendar(username, page = 1)
44
- get "users/#{username}/calendar.#{format}", page
45
- end
32
+ # Find upcoming events for a user
33
+ #
34
+ # Example:
35
+ # sg = Songkick.new("myapikey")
36
+ # events = sg.users(123)
37
+ # or events = sg.users(123, 2)
38
+ #
39
+ # The first argument is the artist_id
40
+ # and the second argument is the page number,
41
+ # by default it is set to 1
42
+ def user_calendar(username, page = 1)
43
+ get "users/#{username}/calendar.#{format}", page
44
+ end
46
45
 
47
- # Find upcoming events for a venue
48
- #
49
- # Example:
50
- # sg = Songkick.new("myapikey")
51
- # or events = sg.usersvenue_calendar(123)
52
- #
53
- # The first argument is the venue_id
54
- # and the second argument is the page number,
55
- # by default it is set to 1
56
- def venue_calendar(venue_id, page = 1)
57
- get "users/#{venue_id}/venues.#{format}", page
58
- end
46
+ # Find upcoming events for a venue
47
+ #
48
+ # Example:
49
+ # sg = Songkick.new("myapikey")
50
+ # or events = sg.usersvenue_calendar(123)
51
+ #
52
+ # The first argument is the venue_id
53
+ # and the second argument is the page number,
54
+ # by default it is set to 1
55
+ def venue_calendar(venue_id, page = 1)
56
+ get "users/#{venue_id}/venues.#{format}", page
59
57
  end
60
58
  end
61
59
  end
@@ -0,0 +1,7 @@
1
+ module Songkick
2
+ module Errors
3
+
4
+ class InvalidOptions < StandardError; end
5
+
6
+ end
7
+ end
@@ -1,17 +1,15 @@
1
1
  module Songkick
2
- class Client
3
- module Event
4
-
5
- # Find detailed information about an event
6
- #
7
- # Example:
8
- # sg = Songkick.new("myapikey")
9
- # event = sg.find_event(123)
10
- # The first argument is the event id
11
- def find_event(event_id)
12
- get "events/#{event_id}.#{format}"
13
- end
2
+ module Event
14
3
 
4
+ # Find detailed information about an event
5
+ #
6
+ # Example:
7
+ # sg = Songkick.new("myapikey")
8
+ # event = sg.find_event(123)
9
+ # The first argument is the event id
10
+ def find_event(event_id)
11
+ get "events/#{event_id}.#{format}"
15
12
  end
13
+
16
14
  end
17
15
  end
@@ -1,27 +1,25 @@
1
1
  module Songkick
2
- class Client
3
- module Request
2
+ module Request
4
3
 
5
- private
6
-
7
- # Perform a get request
8
- # and returns the response body in the correct format
9
- def get(url, page = 1)
10
- uri = generate_uri(url, page)
4
+ private
5
+
6
+ # Perform a get request
7
+ # and returns the response body in the correct format
8
+ def get(url, page = 1)
9
+ uri = generate_uri(url, page)
11
10
 
12
- response = Net::HTTP.get_response(uri)
13
- json? ? JSON.parse(response.body) : response.body
14
- end
15
-
16
- # Generate uri with aditionnal options
17
- # such as the page number and the api key
18
- def generate_uri(url, page)
19
- uri = API_URL + url
20
- uri += uri.include?("?") ? "&page=#{page}" : "?page=#{page}" if page.to_i > 1
21
- uri = URI.parse uri.include?("?") ? uri + "&apikey=#{api_key}" : uri + "?apikey=#{api_key}"
22
- uri
23
- end
11
+ response = Net::HTTP.get_response(uri)
12
+ json? ? JSON.parse(response.body) : response.body
13
+ end
24
14
 
15
+ # Generate uri with aditionnal options
16
+ # such as the page number and the api key
17
+ def generate_uri(url, page)
18
+ uri = API_URL + url
19
+ uri += uri.include?("?") ? "&page=#{page}" : "?page=#{page}" if page.to_i > 1
20
+ uri = URI.parse uri.include?("?") ? uri + "&apikey=#{api_key}" : uri + "?apikey=#{api_key}"
21
+ uri
25
22
  end
23
+
26
24
  end
27
25
  end
@@ -1,66 +1,71 @@
1
- module Songkick
2
- class Client
3
- module Search
1
+ require "songkick/client/validations"
4
2
 
5
- # Search for upcoming events
6
- #
7
- # Options:
8
- # * artist_name
9
- # * location
10
- # * * sk
11
- # * * geo
12
- # * * ip
13
- # * * clientip
14
- # * min_date
15
- # * max_date
16
- #
17
- # Look at this page for more information about the location option:
18
- # http://www.songkick.com/developer/event-search
19
- #
20
- # Example:
21
- # sg = Songkick.new("myapikey")
22
- # events = sg.search_events({:artist_name => "lady gaga"})
23
- # events = sg.search_events({:artist_name => "lady gaga"}, 2)
24
- # events = sg.search_events({:artist_name => "lady gaga", :location => "clientip=10.10.10.10"} )})
25
- def search_events(opts, page = 1)
26
- _opts = opts.collect{|k, v| "#{k}=#{v.gsub(" ", "%20")}"}.join("&")
27
- get "events.#{format}?#{_opts}", page
28
- end
29
- alias_method :search_event, :search_events
3
+ module Songkick
4
+ module Search
5
+ include Validations
30
6
 
31
- # Search for locations
32
- #
33
- # Options:
34
- # * query
35
- # * location
36
- #
37
- # Look at this page for more information about the location option:
38
- # http://www.songkick.com/developer/location-search
39
- #
40
- # Example:
41
- # sg = Songkick.new("myapikey")
42
- # locations = sg.search_locations({:query => "Paris"})
43
- def search_locations(opts, page = 1)
44
- _opts = opts.collect{|k, v| "#{k}=#{v.gsub(" ", "%20")}"}.join("&")
45
- get "search/locations.#{format}?#{_opts}", page
46
- end
47
- alias_method :search_location, :search_locations
7
+ # Search for upcoming events
8
+ #
9
+ # Options:
10
+ # * artist_name
11
+ # * location
12
+ # * * sk
13
+ # * * geo
14
+ # * * ip
15
+ # * * clientip
16
+ # * min_date
17
+ # * max_date
18
+ #
19
+ # Look at this page for more information about the location option:
20
+ # http://www.songkick.com/developer/event-search
21
+ #
22
+ # Example:
23
+ # sg = Songkick.new("myapikey")
24
+ # events = sg.search_events({:artist_name => "lady gaga"})
25
+ # events = sg.search_events({:artist_name => "lady gaga"}, 2)
26
+ # events = sg.search_events({:artist_name => "lady gaga", :location => "clientip=10.10.10.10"} )})
27
+ def search_events(opts, page = 1)
28
+ validate_options %w(artist_name location min_date max_date), opts
29
+
30
+ _opts = opts.collect{|k, v| "#{k}=#{v.gsub(" ", "%20")}"}.join("&")
31
+ get "events.#{format}?#{_opts}", page
32
+ end
33
+ alias_method :search_event, :search_events
48
34
 
49
- # Search for artists
50
- #
51
- # Example:
52
- # sg = Songkick.new("myapikey")
53
- # artists = sg.search_artists("ladygaga")
54
- def search_artists(text, page = 1)
55
- get "search/artists.#{format}?query=#{text.gsub(" ","%20")}", page
56
- end
57
- alias_method :search_artist, :search_artists
35
+ # Search for locations
36
+ #
37
+ # Options:
38
+ # * query
39
+ # * location
40
+ #
41
+ # Look at this page for more information about the location option:
42
+ # http://www.songkick.com/developer/location-search
43
+ #
44
+ # Example:
45
+ # sg = Songkick.new("myapikey")
46
+ # locations = sg.search_locations({:query => "Paris"})
47
+ def search_locations(opts, page = 1)
48
+ validate_options %w(query location), opts
49
+
50
+ _opts = opts.collect{|k, v| "#{k}=#{v.gsub(" ", "%20")}"}.join("&")
51
+ get "search/locations.#{format}?#{_opts}", page
52
+ end
53
+ alias_method :search_location, :search_locations
58
54
 
59
- # Search for venues
60
- def search_venues(text, page = 1)
61
- get "search/venues.#{format}?query=#{text.gsub(" ","%20")}", page
62
- end
55
+ # Search for artists
56
+ #
57
+ # Example:
58
+ # sg = Songkick.new("myapikey")
59
+ # artists = sg.search_artists("ladygaga")
60
+ def search_artists(text, page = 1)
61
+ get "search/artists.#{format}?query=#{text.gsub(" ","%20")}", page
62
+ end
63
+ alias_method :search_artist, :search_artists
63
64
 
65
+ # Search for venues
66
+ def search_venues(text, page = 1)
67
+ get "search/venues.#{format}?query=#{text.gsub(" ","%20")}", page
64
68
  end
69
+
65
70
  end
66
71
  end
@@ -1,50 +1,48 @@
1
1
  module Songkick
2
- class Client
3
- module User
2
+ module User
4
3
 
5
- # Find past events that a user attended
6
- # For upcoming events use user_calendar method
7
- # Important:
8
- # Only public profiles are considered
9
- #
10
- # Example:
11
- # sg = Songkick.new("myapikey")
12
- # gigs = song.gigography("saleandro")
13
- def gigography(username, page = 1)
14
- get "users/#{username}/gigography.#{format}", page
15
- end
16
-
17
- # Get tracked locations for a user
18
- # Example:
19
- # sg = Songkick.new("myapikey")
20
- # locations = sg.tracked_locations("saleandro")
21
- def tracked_locations(username, page = 1)
22
- get "users/#{username}/metro_areas/tracked.#{format}", page
23
- end
4
+ # Find past events that a user attended
5
+ # For upcoming events use user_calendar method
6
+ # Important:
7
+ # Only public profiles are considered
8
+ #
9
+ # Example:
10
+ # sg = Songkick.new("myapikey")
11
+ # gigs = song.gigography("saleandro")
12
+ def gigography(username, page = 1)
13
+ get "users/#{username}/gigography.#{format}", page
14
+ end
24
15
 
25
- # Get tracked artists for a user
26
- # Example:
27
- # sg = Songkick.new("myapikey")
28
- # artists = sg.tracked_artists("saleandro")
29
- def tracked_artists(username, page = 1)
30
- get "users/#{username}/artists/tracked.#{format}", page
31
- end
16
+ # Get tracked locations for a user
17
+ # Example:
18
+ # sg = Songkick.new("myapikey")
19
+ # locations = sg.tracked_locations("saleandro")
20
+ def tracked_locations(username, page = 1)
21
+ get "users/#{username}/metro_areas/tracked.#{format}", page
22
+ end
32
23
 
33
- # Track an artist
34
- def track_artist(username, artist_id)
35
- get "users/#{username}/trackings/artist:#{artist_id}.#{format}"
36
- end
24
+ # Get tracked artists for a user
25
+ # Example:
26
+ # sg = Songkick.new("myapikey")
27
+ # artists = sg.tracked_artists("saleandro")
28
+ def tracked_artists(username, page = 1)
29
+ get "users/#{username}/artists/tracked.#{format}", page
30
+ end
37
31
 
38
- # Track a location
39
- def track_location(usersame, location_id)
40
- get "users/#{username}/trackings/metro_area:#{location_id}.#{format}"
41
- end
32
+ # Track an artist
33
+ def track_artist(username, artist_id)
34
+ get "users/#{username}/trackings/artist:#{artist_id}.#{format}"
35
+ end
42
36
 
43
- # Attendance
44
- def attendance(username, event_id)
45
- get "users/#{username}/trackings/event:#{event_id}.#{format}"
46
- end
37
+ # Track a location
38
+ def track_location(usersame, location_id)
39
+ get "users/#{username}/trackings/metro_area:#{location_id}.#{format}"
40
+ end
47
41
 
42
+ # Attendance
43
+ def attendance(username, event_id)
44
+ get "users/#{username}/trackings/event:#{event_id}.#{format}"
48
45
  end
46
+
49
47
  end
50
48
  end
@@ -0,0 +1,14 @@
1
+ require "songkick/client/errors"
2
+
3
+ module Songkick
4
+ module Validations
5
+ include Errors
6
+
7
+ def validate_options(valid_opts, opts)
8
+ if (opts.keys.map(&:to_s) - valid_opts).any?
9
+ raise InvalidOptions
10
+ end
11
+ end
12
+
13
+ end
14
+ end
@@ -1,14 +1,12 @@
1
- require "songkick/client/calendar.rb"
2
- require "songkick/client/event.rb"
3
- require "songkick/client/request.rb"
4
- require "songkick/client/search.rb"
5
- require "songkick/client/user.rb"
1
+ require "songkick/client/calendar"
2
+ require "songkick/client/event"
3
+ require "songkick/client/request"
4
+ require "songkick/client/search"
5
+ require "songkick/client/user"
6
6
 
7
7
  module Songkick
8
8
  class Client
9
9
 
10
- API_URL = 'http://api.songkick.com/api/3.0/'
11
-
12
10
  attr_accessor :api_key, :format
13
11
 
14
12
  # Look at the songkick.rb file for info
@@ -28,11 +26,11 @@ module Songkick
28
26
  format == 'xml'
29
27
  end
30
28
 
31
- include Songkick::Client::Calendar
32
- include Songkick::Client::Event
33
- include Songkick::Client::Search
34
- include Songkick::Client::User
35
- include Songkick::Client::Request
29
+ include Songkick::Calendar
30
+ include Songkick::Event
31
+ include Songkick::Search
32
+ include Songkick::User
33
+ include Songkick::Request
36
34
 
37
35
  end
38
36
  end
data/lib/songkick.rb CHANGED
@@ -2,10 +2,12 @@ require "net/http"
2
2
  require "rubygems"
3
3
  require 'json'
4
4
 
5
- require "songkick/version.rb"
6
- require "songkick/client.rb"
5
+ require "songkick/client"
7
6
 
8
7
  module Songkick
8
+
9
+ API_URL = 'http://api.songkick.com/api/3.0/'
10
+
9
11
  class << self
10
12
 
11
13
  # In order to use the API you must have an API key
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "songkick_ruby"
3
- s.version = "1.2.0"
3
+ s.version = "1.2.1"
4
4
  s.author = "Gregory Marcilhacy"
5
5
  s.email = "g.marcilhacy@gmail.com"
6
6
  s.homepage = "http://github.com/gregorym/songkick_ruby"
@@ -14,14 +14,17 @@ Gem::Specification.new do |s|
14
14
  songkick_ruby.gemspec
15
15
  lib/songkick.rb
16
16
  lib/songkick
17
- lib/songkick/version.rb
18
17
  lib/songkick/client.rb
19
18
  lib/songkick/client/calendar.rb
20
19
  lib/songkick/client/event.rb
21
20
  lib/songkick/client/search.rb
22
21
  lib/songkick/client/user.rb
23
22
  lib/songkick/client/request.rb
23
+ lib/songkick/client/validations.rb
24
+ lib/songkick/client/errors.rb
24
25
  )
25
26
 
26
- s.test_files = %w()
27
- end
27
+ s.test_files = %w(
28
+ spec/songkick_spec.rb
29
+ )
30
+ end
@@ -0,0 +1,100 @@
1
+ require "./lib/songkick.rb"
2
+
3
+ API_KEY = "frs8I4dwEXMX5raJ"
4
+
5
+ describe Songkick do
6
+ describe "#initialization" do
7
+
8
+ it "should be a new intance of songkick" do
9
+ client1 = Songkick.new("abc")
10
+ client2 = Songkick::Client.new("abc")
11
+
12
+ client1.class.name.should == "Songkick::Client"
13
+ client2.class.name.should == "Songkick::Client"
14
+ end
15
+
16
+ it "should be json format" do
17
+ client = Songkick.new("abc")
18
+ client.format.should == "json"
19
+ client.json?.should be_true
20
+ end
21
+
22
+ it "should be xml format" do
23
+ client = Songkick.new("abc", :xml)
24
+ client.format.should == "xml"
25
+ client.xml?.should be_true
26
+ end
27
+
28
+ end
29
+
30
+ describe "#Validations" do
31
+ it "should raise an exception on wrong options" do
32
+ client = Songkick.new API_KEY
33
+ lambda {
34
+ client.search_event({:location => "Paris", :artist => "Fail!" })
35
+ }.should raise_error(Songkick::Errors::InvalidOptions)
36
+ end
37
+ end
38
+
39
+ describe "#Songkick request" do
40
+ it "should fail with a wrong API key" do
41
+ key = "helloworld"
42
+ client = Songkick.new(key)
43
+
44
+ response = client.search_artists("Blink 182")
45
+ response["resultsPage"]["status"].should == "error"
46
+ end
47
+
48
+ it "should success with a valid API key" do
49
+ client = Songkick.new(API_KEY)
50
+
51
+ response = client.search_artists("Blink 182")
52
+ response["resultsPage"]["status"].should == "ok"
53
+ end
54
+ end
55
+
56
+ describe "#Songkick event" do
57
+ before :each do
58
+ @client = Songkick.new API_KEY
59
+ end
60
+
61
+ it "should find an event" do
62
+ event = @client.find_event(3037536)
63
+ event["resultsPage"]["status"].should == "ok"
64
+ event["resultsPage"]["results"]["event"].is_a?(Hash) == true
65
+ event["resultsPage"]["results"]["event"]["displayName"].include?("Vampire") == true
66
+ end
67
+ end
68
+
69
+ describe "#Songkick calendar" do
70
+ before :each do
71
+ @client = Songkick.new API_KEY
72
+ end
73
+
74
+ it "should search events" do
75
+ events = @client.search_events({:artist_name => "Coldplay"})
76
+ events["resultsPage"]["totalEntries"].nil? == false
77
+ events["resultsPage"]["totalEntries"].is_a?(Integer) == true
78
+ end
79
+
80
+ it "should search locations" do
81
+ events = @client.search_locations({:query => "Paris"})
82
+ events["resultsPage"]["totalEntries"].nil? == false
83
+ events["resultsPage"]["totalEntries"].is_a?(Integer) == true
84
+ end
85
+
86
+ it "should search artists" do
87
+ events = @client.search_artists("Coldplay")
88
+ events["resultsPage"]["totalEntries"].nil? == false
89
+ events["resultsPage"]["totalEntries"].is_a?(Integer) == true
90
+ end
91
+
92
+ it "should search venues" do
93
+ events = @client.search_venues("Stade de france")
94
+ events["resultsPage"]["totalEntries"].nil? == false
95
+ events["resultsPage"]["totalEntries"].is_a?(Integer) == true
96
+ end
97
+
98
+ end
99
+
100
+ end
metadata CHANGED
@@ -1,91 +1,68 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: songkick_ruby
3
- version: !ruby/object:Gem::Version
4
- hash: 31
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.1
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 2
9
- - 0
10
- version: 1.2.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Gregory Marcilhacy
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-12-15 00:00:00 +01:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2011-12-16 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: json
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70320254905020 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 1
32
- - 5
33
- - 0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
34
21
  version: 1.5.0
35
22
  type: :runtime
36
- version_requirements: *id001
23
+ prerelease: false
24
+ version_requirements: *70320254905020
37
25
  description:
38
26
  email: g.marcilhacy@gmail.com
39
27
  executables: []
40
-
41
28
  extensions: []
42
-
43
29
  extra_rdoc_files: []
44
-
45
- files:
30
+ files:
46
31
  - README.textile
47
32
  - songkick_ruby.gemspec
48
33
  - lib/songkick.rb
49
- - lib/songkick/version.rb
50
34
  - lib/songkick/client.rb
51
35
  - lib/songkick/client/calendar.rb
52
36
  - lib/songkick/client/event.rb
53
37
  - lib/songkick/client/search.rb
54
38
  - lib/songkick/client/user.rb
55
39
  - lib/songkick/client/request.rb
56
- has_rdoc: true
40
+ - lib/songkick/client/validations.rb
41
+ - lib/songkick/client/errors.rb
42
+ - spec/songkick_spec.rb
57
43
  homepage: http://github.com/gregorym/songkick_ruby
58
44
  licenses: []
59
-
60
45
  post_install_message:
61
46
  rdoc_options: []
62
-
63
- require_paths:
47
+ require_paths:
64
48
  - lib
65
- required_ruby_version: !ruby/object:Gem::Requirement
49
+ required_ruby_version: !ruby/object:Gem::Requirement
66
50
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
74
- required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
56
  none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- hash: 3
80
- segments:
81
- - 0
82
- version: "0"
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
83
61
  requirements: []
84
-
85
62
  rubyforge_project:
86
- rubygems_version: 1.6.2
63
+ rubygems_version: 1.8.10
87
64
  signing_key:
88
65
  specification_version: 3
89
66
  summary: Ruby wrapper of the songkick api
90
- test_files: []
91
-
67
+ test_files:
68
+ - spec/songkick_spec.rb
@@ -1,3 +0,0 @@
1
- module Songkick
2
- VERSION = '1.1.4'
3
- end