From 9dcd340817224fa34fcb515f79a846886ffa1427 Mon Sep 17 00:00:00 2001 From: Josh Schairbaum Date: Tue, 5 May 2009 11:06:26 +0800 Subject: [PATCH] adding since_date/until_date from advanced search form --- lib/twitter/search.rb | 16 +++++++++++++++- test/twitter/search_test.rb | 14 +++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/lib/twitter/search.rb b/lib/twitter/search.rb index 8c9968e58..c71decd33 100644 --- a/lib/twitter/search.rb +++ b/lib/twitter/search.rb @@ -68,6 +68,20 @@ def since(since_id) self end + # From the advanced search form, not documented in the API + # Format YYYY-MM-DD + def since_date(since_date) + @query[:since] = since_date + self + end + + # From the advanced search form, not documented in the API + # Format YYYY-MM-DD + def until_date(until_date) + @query[:until] = until_date + self + end + # Search tweets by longitude, latitude and a given range. # Ranges like 25km and 50mi work. def geocode(long, lat, range) @@ -103,4 +117,4 @@ def each fetch()['results'].each { |r| yield r } end end -end \ No newline at end of file +end diff --git a/test/twitter/search_test.rb b/test/twitter/search_test.rb index ab35551e8..083170974 100644 --- a/test/twitter/search_test.rb +++ b/test/twitter/search_test.rb @@ -66,6 +66,18 @@ class SearchTest < Test::Unit::TestCase @search.fetch() end + should "should be able to specify since a date" do + @search.since_date('2009-04-14') + @search.class.expects(:get).with('http://search.twitter.com/search.json', :query => { :since => '2009-04-14', :q => ''}, :format => :json).returns({ 'foo' => 'bar'}) + @search.fetch + end + + should "should be able to specify until a date" do + @search.until_date('2009-04-14') + @search.class.expects(:get).with('http://search.twitter.com/search.json', :query => { :until => '2009-04-14', :q => ''}, :format => :json).returns({ 'foo' => 'bar'}) + @search.fetch + end + should "should be able to specify geo coordinates" do @search.geocode('40.757929', '-73.985506', '25mi') @search.class.expects(:get).with('http://search.twitter.com/search.json', :query => {:geocode => '40.757929,-73.985506,25mi', :q => ''}, :format => :json).returns({'foo' => 'bar'}) @@ -141,4 +153,4 @@ class SearchTest < Test::Unit::TestCase end end -end \ No newline at end of file +end