bandsintown 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,6 @@
1
+ == 0.1.2 2009-11-11
2
+ * updated Bandsintown::Artist class with support for mbid / music brainz id and additional documentation
3
+
1
4
  == 0.1.1 2009-09-08
2
5
  * fixed escaping issue with / and ? in artist urls
3
6
 
@@ -26,7 +26,17 @@ For more information visit http://www.bandsintown.com/api/requests.
26
26
 
27
27
  === Find all upcoming events for a given artist
28
28
 
29
- artist = Bandsintown::Artist.new("The Killers")
29
+ artist = Bandsintown::Artist.new({
30
+ :name => "The Killers"
31
+ })
32
+ events = artist.events
33
+
34
+ === Find all upcoming events for a given artist using mbid (music brainz id)
35
+
36
+ # 486af4f0-a79b-468f-be73-527cd4caf6ea => mbid for Slick Rick
37
+ artist = Bandsintown::Artist.new({
38
+ :mbid => "486af4f0-a79b-468f-be73-527cd4caf6ea"
39
+ })
30
40
  events = artist.events
31
41
 
32
42
  === Find events this week around Boston, MA
@@ -45,6 +55,19 @@ For more information visit http://www.bandsintown.com/api/requests.
45
55
  :end_date => 1.week.from_now
46
56
  })
47
57
 
58
+ === Find events this month for Ghostface Killah and Raekwon using mbid (music brainz id)
59
+
60
+ # 3b39abeb-0064-4eed-9ddd-ee47a45c54cb => mbid for Ghostface Killah
61
+ # 4e954b02-fae2-4bd7-9547-e055a6ac0527 => mbid for Raekwon
62
+ events = Bandsintown::Event.search({
63
+ :artists => [
64
+ 'mbid_3b39abeb-0064-4eed-9ddd-ee47a45c54cb',
65
+ 'mbid_4e954b02-fae2-4bd7-9547-e055a6ac0527'
66
+ ],
67
+ :start_date => Time.now.beginning_of_month,
68
+ :end_date => Time.now.end_of_month
69
+ })
70
+
48
71
  === Find recommended events around Boston, MA for fans of Led Zeppelin
49
72
 
50
73
  events = Bandsintown::Event.recommended({
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
- %w[rubygems rake rake/clean fileutils newgem rubigen].each { |f| require f }
1
+ %w[rubygems rake rake/clean fileutils newgem rubigen hoe].each { |f| require f }
2
2
  require File.dirname(__FILE__) + '/lib/bandsintown'
3
3
 
4
4
  # Generate all the Rake tasks
@@ -14,7 +14,7 @@ require 'bandsintown/event'
14
14
  require 'bandsintown/venue'
15
15
 
16
16
  module Bandsintown
17
- VERSION = '0.1.1'
17
+ VERSION = '0.1.2'
18
18
  class APIError < StandardError; end
19
19
  class << self
20
20
  # All Bandsintown API requests require an app_id parameter for identification.
@@ -1,18 +1,24 @@
1
1
  module Bandsintown
2
2
  class Artist < Base
3
3
 
4
- attr_accessor :name, :events
4
+ attr_accessor :name, :bandsintown_url, :mbid, :events
5
5
 
6
- def initialize(name, url = nil)
7
- @name = name
8
- @bandsintown_url = url || build_bandsintown_url
6
+ def initialize(options = {})
7
+ @name = options[:name]
8
+ @mbid = options[:mbid]
9
+ @bandsintown_url = options[:url] || build_bandsintown_url
9
10
  end
10
11
 
11
12
  #Returns an array of Bandsintown::Event objects for each of the artist's upcoming events available through bandsintown.com.
12
13
  #See http://www.bandsintown.com/api/requests#artists-events for more information.
13
- #
14
+ #Can be used with either artist name or mbid (music brainz id).
14
15
  #====example:
15
- # artist = Bandsintown::Artist.new("Little Brother")
16
+ # # using artist name
17
+ # artist = Bandsintown::Artist.new(:name => "Little Brother")
18
+ # upcoming_little_brother_events = artist.events
19
+ #
20
+ # # using mbid for Little Brother
21
+ # artist = Bandsintown::Artist.new(:mbid => "b929c0c9-5de0-4d87-8eb9-365ad1725629")
16
22
  # upcoming_little_brother_events = artist.events
17
23
  #
18
24
  def events
@@ -20,13 +26,19 @@ module Bandsintown
20
26
  @events = self.class.request_and_parse("#{api_name}/events").map { |event| Bandsintown::Event.build_from_json(event) }
21
27
  end
22
28
 
23
- # name used in api requests. / and ? must be double escaped.
29
+ # Used in api requests as the RESTful resource id for artists (http://api.bandsintown.com/artists/id/method).
30
+ # If @name is not nil, it will be URI escaped to generate the api_name. '/' and '?' must be double escaped.
31
+ # If @name is nil, @mbid is used with 'mbid_' prefixed.
24
32
  #
25
33
  def api_name
26
- name = @name.dup
27
- name.gsub!('/', CGI.escape('/'))
28
- name.gsub!('?', CGI.escape('?'))
29
- URI.escape(name)
34
+ if @name
35
+ name = @name.dup
36
+ name.gsub!('/', CGI.escape('/'))
37
+ name.gsub!('?', CGI.escape('?'))
38
+ URI.escape(name)
39
+ else
40
+ "mbid_#{@mbid}"
41
+ end
30
42
  end
31
43
 
32
44
  def self.resource_path
@@ -36,13 +48,17 @@ module Bandsintown
36
48
  private
37
49
 
38
50
  def build_bandsintown_url
39
- name = @name.dup
40
- name.gsub!('&', 'And')
41
- name.gsub!('+', 'Plus')
42
- name = name.split.map { |w| w.capitalize }.join if name =~ /\s/
43
- name.gsub!('/', CGI.escape('/'))
44
- name.gsub!('?', CGI.escape('?'))
45
- "http://www.bandsintown.com/#{URI.escape(name)}"
51
+ if @name
52
+ name = @name.dup
53
+ name.gsub!('&', 'And')
54
+ name.gsub!('+', 'Plus')
55
+ name = name.split.map { |w| w.capitalize }.join if name =~ /\s/
56
+ name.gsub!('/', CGI.escape('/'))
57
+ name.gsub!('?', CGI.escape('?'))
58
+ "http://www.bandsintown.com/#{URI.escape(name)}"
59
+ else
60
+ "http://www.bandsintown.com/mbid_#{@mbid}"
61
+ end
46
62
  end
47
63
 
48
64
  end
@@ -84,7 +84,7 @@ module Bandsintown
84
84
  end
85
85
 
86
86
  def self.build_from_json(json_hash)
87
- event = Bandsintown::Event.new()
87
+ event = Bandsintown::Event.new
88
88
  event.bandsintown_id = json_hash["id"]
89
89
  event.bandsintown_url = json_hash["url"]
90
90
  event.datetime = Time.parse(json_hash["datetime"])
@@ -93,8 +93,7 @@ module Bandsintown
93
93
  event.ticket_status = json_hash["ticket_status"]
94
94
  event.on_sale_datetime = Time.parse(json_hash["on_sale_datetime"]) rescue nil
95
95
  event.venue = Bandsintown::Venue.new(json_hash["venue"])
96
- event.artists = []
97
- json_hash["artists"].each { |artist| event.artists << Bandsintown::Artist.new(artist["name"], artist["url"]) }
96
+ event.artists = json_hash["artists"].map { |artist| Bandsintown::Artist.new(artist.symbolize_keys) }
98
97
  event
99
98
  end
100
99
 
@@ -3,70 +3,95 @@ require File.dirname(__FILE__) + '/../spec_helper.rb'
3
3
  describe Bandsintown::Artist do
4
4
 
5
5
  before(:each) do
6
- @name = "Little Brother"
7
- @url = "http://www.bandsintown.com/LittleBrother"
8
- @artist = Bandsintown::Artist.new(@name, @url)
6
+ @options = {
7
+ :name => 'Little Brother',
8
+ :url => 'http://www.bandsintown.com/LittleBrother',
9
+ :mbid => 'b929c0c9-5de0-4d87-8eb9-365ad1725629'
10
+ }
11
+ @artist = Bandsintown::Artist.new(@options)
9
12
  end
10
13
 
11
- describe ".initialize(name, url = nil)" do
12
- it "should set the Artist name" do
13
- @artist.name.should == @name
14
+ describe "attributes" do
15
+ it "should have an attr_accessor for @name" do
16
+ @artist.should respond_to(:name)
17
+ @artist.should respond_to(:name=)
14
18
  end
15
- it "should set the Artist bandsintown_url if given" do
16
- @artist.bandsintown_url.should == @url
19
+ it "should have an attr_accessor for @bandsintown_url" do
20
+ @artist.should respond_to(:bandsintown_url)
21
+ @artist.should respond_to(:bandsintown_url=)
22
+ end
23
+ it "should have an attr_accessor for @mbid" do
24
+ @artist.should respond_to(:mbid)
25
+ @artist.should respond_to(:mbid=)
26
+ end
27
+ end
28
+
29
+ describe ".initialize(options = {})" do
30
+ it "should set the Artist name from options" do
31
+ @artist.name.should == @options[:name]
32
+ end
33
+ it "should set the Artist bandsintown_url from options" do
34
+ @artist.bandsintown_url.should == @options[:url]
35
+ end
36
+ it "should set the Artist mbid from options" do
37
+ @artist.mbid.should == @options[:mbid]
17
38
  end
18
39
 
19
- describe "generating a url (initialize with nil url)" do
40
+ describe "generating a url (initialized without an option for :url)" do
20
41
  it "should strip spaces" do
21
42
  name = "The Beatles "
22
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/TheBeatles"
43
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/TheBeatles"
23
44
  end
24
45
  it "should convert '&' -> 'And'" do
25
46
  name = "Meg & Dia"
26
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/MegAndDia"
47
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/MegAndDia"
27
48
  end
28
49
  it "should convert '+' -> 'Plus'" do
29
50
  name = "+44"
30
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/Plus44"
51
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/Plus44"
31
52
  end
32
53
  it "should camelcase seperate words" do
33
54
  name = "meg & dia"
34
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/MegAndDia"
55
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/MegAndDia"
35
56
  end
36
57
  it "should not cgi escape url" do
37
58
  name = "$up"
38
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/$up"
59
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/$up"
39
60
  end
40
61
  it "should uri escape accented characters" do
41
62
  name = "sigur rós"
42
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/SigurR%C3%B3s"
63
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/SigurR%C3%B3s"
43
64
  end
44
65
  it "should not alter the case of single word names" do
45
66
  name = "AWOL"
46
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/AWOL"
67
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/AWOL"
47
68
  end
48
69
  it "should allow dots" do
49
70
  name = "M.I.A"
50
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/M.I.A"
71
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/M.I.A"
51
72
  end
52
73
  it "should allow exclamations" do
53
74
  name = "against me!"
54
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/AgainstMe!"
75
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/AgainstMe!"
55
76
  end
56
- it "should not modify @name" do
77
+ it "should not modify @options[:name]" do
57
78
  name = "this is how i think"
58
- Bandsintown::Artist.new(name)
79
+ Bandsintown::Artist.new(:name => name)
59
80
  name.should == "this is how i think"
60
81
  end
61
82
  it "should cgi escape '/' so it will be double encoded" do
62
83
  name = "AC/DC"
63
84
  escaped_name = URI.escape(name.gsub('/', CGI.escape('/')))
64
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/#{escaped_name}"
85
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/#{escaped_name}"
65
86
  end
66
87
  it "should cgi escape '?' so it will be double encoded" do
67
88
  name = "Does it offend you, yeah?"
68
89
  escaped_name = URI.escape("DoesItOffendYou,Yeah#{CGI.escape('?')}")
69
- Bandsintown::Artist.new(name).bandsintown_url.should == "http://www.bandsintown.com/#{escaped_name}"
90
+ Bandsintown::Artist.new(:name => name).bandsintown_url.should == "http://www.bandsintown.com/#{escaped_name}"
91
+ end
92
+ it "should use @mbid only if @name is nil" do
93
+ Bandsintown::Artist.new(:name => 'name', :mbid => 'mbid').bandsintown_url.should == 'http://www.bandsintown.com/name'
94
+ Bandsintown::Artist.new(:mbid => '1234').bandsintown_url.should == 'http://www.bandsintown.com/mbid_1234'
70
95
  end
71
96
  end
72
97
  end
@@ -79,11 +104,11 @@ describe Bandsintown::Artist do
79
104
 
80
105
  describe "#events" do
81
106
  before(:each) do
82
- @artist = Bandsintown::Artist.new("Little Brother")
107
+ @artist = Bandsintown::Artist.new(:name => "Little Brother")
83
108
  end
84
109
  it "should request and parse a call to the BIT artist events API method and the artist's api name" do
85
- @artist.should_receive(:api_name).and_return("Little+Brother")
86
- Bandsintown::Artist.should_receive(:request_and_parse).with("Little+Brother/events").and_return([])
110
+ @artist.should_receive(:api_name).and_return('Little%20Brother')
111
+ Bandsintown::Artist.should_receive(:request_and_parse).with("Little%20Brother/events").and_return([])
87
112
  @artist.events
88
113
  end
89
114
  it "should return an Array of Bandsintown::Event objects built from the response" do
@@ -107,8 +132,12 @@ describe Bandsintown::Artist do
107
132
  @artist.api_name.should == URI.escape(@artist.name)
108
133
  end
109
134
  it "should CGI escape / and ? characters before URI escaping the whole name" do
110
- Bandsintown::Artist.new("AC/DC").api_name.should == URI.escape(CGI.escape("AC/DC"))
111
- Bandsintown::Artist.new("?uestlove").api_name.should == URI.escape(CGI.escape("?uestlove"))
135
+ Bandsintown::Artist.new(:name => "AC/DC").api_name.should == URI.escape(CGI.escape("AC/DC"))
136
+ Bandsintown::Artist.new(:name => "?uestlove").api_name.should == URI.escape(CGI.escape("?uestlove"))
137
+ end
138
+ it "should use 'mbid_<@mbid>' only if @name is nil" do
139
+ Bandsintown::Artist.new(:name => 'name', :mbid => 'mbid').api_name.should == 'name'
140
+ Bandsintown::Artist.new(:mbid => '1234').api_name.should == 'mbid_1234'
112
141
  end
113
142
  end
114
143
  end
@@ -62,8 +62,8 @@ describe Bandsintown::Event do
62
62
  @datetime = "2008-09-30T19:30:00"
63
63
  @ticket_url = "http://www.bandsintown.com/event/745095/buy_tickets"
64
64
 
65
- @artist_1 = { "name" => "Little Brother", "url" => "http://www.bandsintown.com/LittleBrother" }
66
- @artist_2 = { "name" => "Joe Scudda", "url" => "http://www.bandsintown.com/JoeScudda" }
65
+ @artist_1 = { "name" => "Little Brother", "url" => "http://www.bandsintown.com/LittleBrother", "mbid" => "b929c0c9-5de0-4d87-8eb9-365ad1725629" }
66
+ @artist_2 = { "name" => "Joe Scudda", "url" => "http://www.bandsintown.com/JoeScudda", "mbid" => nil } # sorry Joe its just an example
67
67
 
68
68
  @venue_hash = {
69
69
  "id" => 327987,
@@ -125,10 +125,10 @@ describe Bandsintown::Event do
125
125
  @built_event.venue.should == built_venue
126
126
  end
127
127
  it "should set the Event's Artists" do
128
- built_artist_1 = mock(Bandsintown::Artist, :name => "Little Brother")
129
- built_artist_2 = mock(Bandsintown::Artist, :name => "Joe Scudda")
130
- Bandsintown::Artist.should_receive(:new).with(@artist_1["name"], @artist_1["url"]).and_return(built_artist_1)
131
- Bandsintown::Artist.should_receive(:new).with(@artist_2["name"], @artist_2["url"]).and_return(built_artist_2)
128
+ built_artist_1 = mock(Bandsintown::Artist)
129
+ built_artist_2 = mock(Bandsintown::Artist)
130
+ Bandsintown::Artist.should_receive(:new).with(:name => @artist_1["name"], :url => @artist_1["url"], :mbid => @artist_1["mbid"]).and_return(built_artist_1)
131
+ Bandsintown::Artist.should_receive(:new).with(:name => @artist_2["name"], :url => @artist_2["url"], :mbid => @artist_2["mbid"]).and_return(built_artist_2)
132
132
  @built_event = Bandsintown::Event.build_from_json(@event_hash)
133
133
  @built_event.artists.should == [built_artist_1, built_artist_2]
134
134
  end
@@ -34,7 +34,7 @@
34
34
  <div class="sidebar">
35
35
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/bandsintown"; return false'>
36
36
  <p>Get Version</p>
37
- <a href="http://rubyforge.org/projects/bandsintown" class="numbers">0.1.1</a>
37
+ <a href="http://rubyforge.org/projects/bandsintown" class="numbers">0.1.2</a>
38
38
  </div>
39
39
  </div>
40
40
  <h2>Description</h2>
@@ -53,7 +53,17 @@
53
53
  </pre></p>
54
54
  <h3>Find all upcoming events for a given artist</h3>
55
55
  <p><pre class='syntax'>
56
- <span class="ident">artist</span> <span class="punct">=</span> <span class="constant">Bandsintown</span><span class="punct">::</span><span class="constant">Artist</span><span class="punct">.</span><span class="ident">new</span><span class="punct">('</span><span class="string">The Killers</span><span class="punct">')</span>
56
+ <span class="ident">artist</span> <span class="punct">=</span> <span class="constant">Bandsintown</span><span class="punct">::</span><span class="constant">Artist</span><span class="punct">.</span><span class="ident">new</span><span class="punct">({</span>
57
+ <span class="symbol">:name</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">The Killers</span><span class="punct">'</span>
58
+ <span class="punct">})</span>
59
+ <span class="ident">events</span> <span class="punct">=</span> <span class="ident">artist</span><span class="punct">.</span><span class="ident">events</span>
60
+ </pre></p>
61
+ <h3>Find all upcoming events for a given artist using mbid (music brainz id)</h3>
62
+ <p><pre class='syntax'>
63
+ <span class="comment"># 486af4f0-a79b-468f-be73-527cd4caf6ea =&gt; mbid for Slick Rick</span>
64
+ <span class="ident">artist</span> <span class="punct">=</span> <span class="constant">Bandsintown</span><span class="punct">::</span><span class="constant">Artist</span><span class="punct">.</span><span class="ident">new</span><span class="punct">({</span>
65
+ <span class="symbol">:mbid</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">486af4f0-a79b-468f-be73-527cd4caf6ea</span><span class="punct">&quot;</span>
66
+ <span class="punct">})</span>
57
67
  <span class="ident">events</span> <span class="punct">=</span> <span class="ident">artist</span><span class="punct">.</span><span class="ident">events</span>
58
68
  </pre></p>
59
69
  <h3>Find events this week around Boston, MA</h3>
@@ -72,6 +82,19 @@
72
82
  <span class="symbol">:end_date</span> <span class="punct">=&gt;</span> <span class="number">1</span><span class="punct">.</span><span class="ident">week</span><span class="punct">.</span><span class="ident">from_now</span>
73
83
  <span class="punct">})</span>
74
84
  </pre></p>
85
+ <h3>Find events this month for Ghostface Killah and Raekwon using mbid (music brainz id)</h3>
86
+ <p><pre class='syntax'>
87
+ <span class="comment"># 3b39abeb-0064-4eed-9ddd-ee47a45c54cb =&gt; mbid for Ghostface Killah</span>
88
+ <span class="comment"># 4e954b02-fae2-4bd7-9547-e055a6ac0527 =&gt; mbid for Raekwon</span>
89
+ <span class="ident">events</span> <span class="punct">=</span> <span class="constant">Bandsintown</span><span class="punct">::</span><span class="constant">Event</span><span class="punct">.</span><span class="ident">search</span><span class="punct">({</span>
90
+ <span class="symbol">:artists</span> <span class="punct">=&gt;</span> <span class="punct">[</span>
91
+ <span class="punct">'</span><span class="string">mbid_3b39abeb-0064-4eed-9ddd-ee47a45c54cb</span><span class="punct">',</span>
92
+ <span class="punct">'</span><span class="string">mbid_4e954b02-fae2-4bd7-9547-e055a6ac0527</span><span class="punct">'</span>
93
+ <span class="punct">],</span>
94
+ <span class="symbol">:start_date</span> <span class="punct">=&gt;</span> <span class="constant">Time</span><span class="punct">.</span><span class="ident">now</span><span class="punct">.</span><span class="ident">beginning_of_month</span><span class="punct">,</span>
95
+ <span class="symbol">:end_date</span> <span class="punct">=&gt;</span> <span class="constant">Time</span><span class="punct">.</span><span class="ident">now</span><span class="punct">.</span><span class="ident">end_of_month</span>
96
+ <span class="punct">})</span>
97
+ </pre></p>
75
98
  <h3>Find recommended events around Boston, MA for fans of Led Zeppelin</h3>
76
99
  <p><pre class='syntax'>
77
100
  <span class="ident">events</span> <span class="punct">=</span> <span class="constant">Bandsintown</span><span class="punct">::</span><span class="constant">Event</span><span class="punct">.</span><span class="ident">recommended</span><span class="punct">({</span>
@@ -29,7 +29,19 @@ Bandsintown.app_id = 'YOUR_APP_ID'
29
29
  h3. Find all upcoming events for a given artist
30
30
 
31
31
  <pre syntax="ruby">
32
- artist = Bandsintown::Artist.new('The Killers')
32
+ artist = Bandsintown::Artist.new({
33
+ :name => 'The Killers'
34
+ })
35
+ events = artist.events
36
+ </pre>
37
+
38
+ h3. Find all upcoming events for a given artist using mbid (music brainz id)
39
+
40
+ <pre syntax="ruby">
41
+ # 486af4f0-a79b-468f-be73-527cd4caf6ea => mbid for Slick Rick
42
+ artist = Bandsintown::Artist.new({
43
+ :mbid => "486af4f0-a79b-468f-be73-527cd4caf6ea"
44
+ })
33
45
  events = artist.events
34
46
  </pre>
35
47
 
@@ -53,6 +65,21 @@ events = Bandsintown::Event.search({
53
65
  })
54
66
  </pre>
55
67
 
68
+ h3. Find events this month for Ghostface Killah and Raekwon using mbid (music brainz id)
69
+
70
+ <pre syntax="ruby">
71
+ # 3b39abeb-0064-4eed-9ddd-ee47a45c54cb => mbid for Ghostface Killah
72
+ # 4e954b02-fae2-4bd7-9547-e055a6ac0527 => mbid for Raekwon
73
+ events = Bandsintown::Event.search({
74
+ :artists => [
75
+ 'mbid_3b39abeb-0064-4eed-9ddd-ee47a45c54cb',
76
+ 'mbid_4e954b02-fae2-4bd7-9547-e055a6ac0527'
77
+ ],
78
+ :start_date => Time.now.beginning_of_month,
79
+ :end_date => Time.now.end_of_month
80
+ })
81
+ </pre>
82
+
56
83
  h3. Find recommended events around Boston, MA for fans of Led Zeppelin
57
84
 
58
85
  <pre syntax="ruby">
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bandsintown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Costanza
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-08 00:00:00 -04:00
12
+ date: 2009-11-12 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 1.2.1
43
+ version: 1.5.2
44
44
  version:
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: hoe
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 1.8.0
53
+ version: 2.3.3
54
54
  version:
55
55
  description: |-
56
56
  Bandsintown.com API gem
@@ -69,7 +69,6 @@ extensions: []
69
69
  extra_rdoc_files:
70
70
  - History.txt
71
71
  - Manifest.txt
72
- - README.rdoc
73
72
  - website/index.txt
74
73
  files:
75
74
  - History.txt
@@ -106,7 +105,7 @@ licenses: []
106
105
  post_install_message:
107
106
  rdoc_options:
108
107
  - --main
109
- - README.rdoc
108
+ - README.txt
110
109
  require_paths:
111
110
  - lib
112
111
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -124,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
123
  requirements: []
125
124
 
126
125
  rubyforge_project: bandsintown
127
- rubygems_version: 1.3.3
126
+ rubygems_version: 1.3.5
128
127
  signing_key:
129
128
  specification_version: 3
130
129
  summary: Bandsintown.com API gem A Ruby library for accessing the Bandsintown API