<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,8 @@
 0.6.12 - June 26, 2009
-* 1 minor addition
+* 2 minor additions
   * fixed fakeweb test issue (obie fernandez)
+  * added user agent option to searches
+  
 0.6.11 - May 18, 2009
 * 1 minor addition
   * Added the ability to sign in with twitter instead of authorizing</diff>
      <filename>History</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,16 @@ module Twitter
     
     attr_reader :result, :query
     
-    def initialize(q=nil)
+    def initialize(q=nil, options={})
+      @options = options
       clear
       containing(q) if q &amp;&amp; q.strip != ''
     end
     
+    def user_agent
+      @options[:user_agent] || 'Ruby Twitter Gem'
+    end
+    
     def from(user)
       @query[:q] &lt;&lt; &quot;from:#{user}&quot;
       self
@@ -92,7 +97,7 @@ module Twitter
       if @fetch.nil? || force
         query = @query.dup
         query[:q] = query[:q].join(' ')
-        response = self.class.get('http://search.twitter.com/search.json', :query =&gt; query, :format =&gt; :json)
+        response = self.class.get('http://search.twitter.com/search.json', :query =&gt; query, :format =&gt; :json, :headers =&gt; {'User-Agent' =&gt; user_agent})
         @fetch = Mash.new(response)
       end
       </diff>
      <filename>lib/twitter/search.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,21 @@ class SearchTest &lt; Test::Unit::TestCase
     should &quot;should be able to initialize with a search term&quot; do
       Twitter::Search.new('httparty').query[:q].should include('httparty')
     end
+    
+    should &quot;default user agent to Ruby Twitter Gem&quot; do
+      search = Twitter::Search.new('foo')
+      search.user_agent.should == 'Ruby Twitter Gem'
+    end
+    
+    should &quot;allow overriding default user agent&quot; do
+      search = Twitter::Search.new('foo', :user_agent =&gt; 'Foobar')
+      search.user_agent.should == 'Foobar'
+    end
+    
+    should &quot;pass user agent along with headers when making request&quot; do
+      Twitter::Search.expects(:get).with('http://search.twitter.com/search.json', {:format =&gt; :json, :query =&gt; {:q =&gt; 'foo'}, :headers =&gt; {'User-Agent' =&gt; 'Foobar'}})
+      Twitter::Search.new('foo', :user_agent =&gt; 'Foobar').fetch()
+    end
 
     should &quot;should be able to specify from&quot; do
       @search.from('jnunemaker').query[:q].should include('from:jnunemaker')
@@ -44,37 +59,37 @@ class SearchTest &lt; Test::Unit::TestCase
 
     should &quot;should be able to specify the language&quot; do
       @search.lang('en')
-      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:lang =&gt; 'en', :q =&gt; ''}, :format =&gt; :json).returns({'foo' =&gt; 'bar'})
+      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:lang =&gt; 'en', :q =&gt; ''}, :format =&gt; :json, :headers =&gt; {'User-Agent' =&gt; 'Ruby Twitter Gem'}).returns({'foo' =&gt; 'bar'})
       @search.fetch()
     end
 
     should &quot;should be able to specify the number of results per page&quot; do
       @search.per_page(25)
-      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:rpp =&gt; 25, :q =&gt; ''}, :format =&gt; :json).returns({'foo' =&gt; 'bar'})
+      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:rpp =&gt; 25, :q =&gt; ''}, :format =&gt; :json, :headers =&gt; {'User-Agent' =&gt; 'Ruby Twitter Gem'}).returns({'foo' =&gt; 'bar'})
       @search.fetch()
     end
 
     should &quot;should be able to specify the page number&quot; do
       @search.page(20)
-      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:page =&gt; 20, :q =&gt; ''}, :format =&gt; :json).returns({'foo' =&gt; 'bar'})
+      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:page =&gt; 20, :q =&gt; ''}, :format =&gt; :json, :headers =&gt; {'User-Agent' =&gt; 'Ruby Twitter Gem'}).returns({'foo' =&gt; 'bar'})
       @search.fetch()
     end
 
     should &quot;should be able to specify only returning results greater than an id&quot; do
       @search.since(1234)
-      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:since_id =&gt; 1234, :q =&gt; ''}, :format =&gt; :json).returns({'foo' =&gt; 'bar'})
+      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:since_id =&gt; 1234, :q =&gt; ''}, :format =&gt; :json, :headers =&gt; {'User-Agent' =&gt; 'Ruby Twitter Gem'}).returns({'foo' =&gt; 'bar'})
       @search.fetch()
     end
 
     should &quot;should be able to specify geo coordinates&quot; do
       @search.geocode('40.757929', '-73.985506', '25mi')
-      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:geocode =&gt; '40.757929,-73.985506,25mi', :q =&gt; ''}, :format =&gt; :json).returns({'foo' =&gt; 'bar'})
+      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:geocode =&gt; '40.757929,-73.985506,25mi', :q =&gt; ''}, :format =&gt; :json, :headers =&gt; {'User-Agent' =&gt; 'Ruby Twitter Gem'}).returns({'foo' =&gt; 'bar'})
       @search.fetch()
     end
 
     should &quot;should be able to specify max id&quot; do
       @search.max(1234)
-      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:max_id =&gt; 1234, :q =&gt; ''}, :format =&gt; :json).returns({'foo' =&gt; 'bar'})
+      @search.class.expects(:get).with('http://search.twitter.com/search.json', :query =&gt; {:max_id =&gt; 1234, :q =&gt; ''}, :format =&gt; :json, :headers =&gt; {'User-Agent' =&gt; 'Ruby Twitter Gem'}).returns({'foo' =&gt; 'bar'})
       @search.fetch()
     end
 </diff>
      <filename>test/twitter/search_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>9b0dbf5553f7d568bbd1fb93fd6e596d10946144</id>
    </parent>
  </parents>
  <author>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </author>
  <url>http://github.com/jnunemaker/twitter/commit/e8fbad6a9cfdcfaad4938f7243fc971a1ea8ac8c</url>
  <id>e8fbad6a9cfdcfaad4938f7243fc971a1ea8ac8c</id>
  <committed-date>2009-06-26T19:30:41-07:00</committed-date>
  <authored-date>2009-06-26T19:30:41-07:00</authored-date>
  <message>Added user agent option to Twitter::Search and the masses rejoiced in unison!</message>
  <tree>2cad19bec3abbebf39bb46346504544cb989f201</tree>
  <committer>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </committer>
</commit>
