songkick_ruby 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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