t 0.9.7 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,4 @@
1
1
  require 'singleton'
2
- require 'yaml'
3
2
 
4
3
  class RCFile
5
4
  FILE_NAME = '.trc'
@@ -60,6 +59,7 @@ class RCFile
60
59
  end
61
60
 
62
61
  def load
62
+ require 'yaml'
63
63
  YAML.load_file(@path)
64
64
  rescue Errno::ENOENT
65
65
  default_structure
@@ -86,6 +86,7 @@ private
86
86
  end
87
87
 
88
88
  def write
89
+ require 'yaml'
89
90
  File.open(@path, File::RDWR|File::TRUNC|File::CREAT, 0600) do |rcfile|
90
91
  rcfile.write @data.to_yaml
91
92
  end
@@ -5,31 +5,31 @@ module T
5
5
  DEFAULT_HOST = 'api.twitter.com'
6
6
  DEFAULT_PROTOCOL = 'https'
7
7
 
8
- private
8
+ private
9
9
 
10
- def base_url
11
- "#{protocol}://#{host}"
12
- end
10
+ def base_url
11
+ "#{protocol}://#{host}"
12
+ end
13
13
 
14
- def client
15
- return @client if @client
16
- @rcfile.path = options['profile'] if options['profile']
17
- @client = Twitter::Client.new(
18
- :endpoint => base_url,
19
- :consumer_key => @rcfile.active_consumer_key,
20
- :consumer_secret => @rcfile.active_consumer_secret,
21
- :oauth_token => @rcfile.active_token,
22
- :oauth_token_secret => @rcfile.active_secret
23
- )
24
- end
14
+ def client
15
+ return @client if @client
16
+ @rcfile.path = options['profile'] if options['profile']
17
+ @client = Twitter::Client.new(
18
+ :endpoint => base_url,
19
+ :consumer_key => @rcfile.active_consumer_key,
20
+ :consumer_secret => @rcfile.active_consumer_secret,
21
+ :oauth_token => @rcfile.active_token,
22
+ :oauth_token_secret => @rcfile.active_secret
23
+ )
24
+ end
25
25
 
26
- def host
27
- options['host'] || DEFAULT_HOST
28
- end
26
+ def host
27
+ options['host'] || DEFAULT_HOST
28
+ end
29
29
 
30
- def protocol
31
- options['no-ssl'] ? 'http' : DEFAULT_PROTOCOL
32
- end
30
+ def protocol
31
+ options['no-ssl'] ? 'http' : DEFAULT_PROTOCOL
32
+ end
33
33
 
34
34
  end
35
35
  end
@@ -1,14 +1,10 @@
1
- require 'csv'
2
- # 'fastercsv' required on Ruby versions < 1.9
3
- require 'fastercsv' unless Array.new.respond_to?(:to_csv)
4
- require 'htmlentities'
5
- require 't/collectable'
6
- require 't/printable'
7
- require 't/rcfile'
8
- require 't/requestable'
9
1
  require 'thor'
10
2
 
11
3
  module T
4
+ autoload :Collectable, 't/collectable'
5
+ autoload :Printable, 't/printable'
6
+ autoload :RCFile, 't/rcfile'
7
+ autoload :Requestable, 't/requestable'
12
8
  class Search < Thor
13
9
  include T::Collectable
14
10
  include T::Printable
@@ -35,7 +31,10 @@ module T
35
31
  statuses = collect_with_rpp(rpp) do |opts|
36
32
  client.search(query, opts)
37
33
  end
34
+ require 'htmlentities'
38
35
  if options['csv']
36
+ require 'csv'
37
+ require 'fastercsv' unless Array.new.respond_to?(:to_csv)
39
38
  say STATUS_HEADINGS.to_csv unless statuses.empty?
40
39
  statuses.each do |status|
41
40
  say [status.id, csv_formatted_time(status), status.from_user, HTMLEntities.new.decode(status.full_text)].to_csv
@@ -80,6 +79,7 @@ module T
80
79
  list = owner
81
80
  owner = @rcfile.active_profile[0]
82
81
  else
82
+ require 't/core_ext/string'
83
83
  owner = if options['id']
84
84
  owner.to_i
85
85
  else
@@ -138,6 +138,7 @@ module T
138
138
  query = args.pop
139
139
  user = args.pop
140
140
  if user
141
+ require 't/core_ext/string'
141
142
  user = if options['id']
142
143
  user.to_i
143
144
  else
@@ -172,6 +173,9 @@ module T
172
173
  method_option "tweets", :aliases => "-t", :type => :boolean, :default => false, :desc => "Sort by number of Tweets."
173
174
  method_option "unsorted", :aliases => "-u", :type => :boolean, :default => false, :desc => "Output is not sorted."
174
175
  def users(query)
176
+ require 't/core_ext/enumerable'
177
+ require 'retryable'
178
+ require 'twitter'
175
179
  users = 1.upto(50).threaded_map do |page|
176
180
  retryable(:tries => 3, :on => Twitter::Error::ServerError, :sleep => 0) do
177
181
  client.user_search(query, :page => page, :per_page => MAX_USERS_PER_REQUEST)
@@ -1,9 +1,8 @@
1
- require 't/core_ext/string'
2
- require 't/rcfile'
3
- require 't/requestable'
4
1
  require 'thor'
5
2
 
6
3
  module T
4
+ autoload :RCFile, 't/rcfile'
5
+ autoload :Requestable, 't/requestable'
7
6
  class Set < Thor
8
7
  include T::Requestable
9
8
 
@@ -16,6 +15,7 @@ module T
16
15
 
17
16
  desc "active SCREEN_NAME [CONSUMER_KEY]", "Set your active account."
18
17
  def active(screen_name, consumer_key=nil)
18
+ require 't/core_ext/string'
19
19
  screen_name = screen_name.strip_ats
20
20
  @rcfile.path = options['profile'] if options['profile']
21
21
  consumer_key = @rcfile[screen_name].keys.last if consumer_key.nil?
@@ -1,11 +1,10 @@
1
- require 't/cli'
2
- require 't/printable'
3
- require 't/rcfile'
4
- require 't/search'
5
1
  require 'thor'
6
- require 'tweetstream'
7
2
 
8
3
  module T
4
+ autoload :CLI, 't/cli'
5
+ autoload :Printable, 't/printable'
6
+ autoload :RCFile, 't/rcfile'
7
+ autoload :Search, 't/search'
9
8
  class Stream < Thor
10
9
  include T::Printable
11
10
 
@@ -25,8 +24,11 @@ module T
25
24
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
26
25
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
27
26
  def all
27
+ require 'tweetstream'
28
28
  client.on_inited do
29
29
  if options['csv']
30
+ require 'csv'
31
+ require 'fastercsv' unless Array.new.respond_to?(:to_csv)
30
32
  say STATUS_HEADINGS.to_csv
31
33
  elsif options['long'] && STDOUT.tty?
32
34
  headings = STATUS_HEADINGS.size.times.map do |index|
@@ -52,6 +54,7 @@ module T
52
54
 
53
55
  desc "matrix", "Unfortunately, no one can be told what the Matrix is. You have to see it for yourself."
54
56
  def matrix
57
+ require 'tweetstream'
55
58
  client.on_timeline_status do |status|
56
59
  say(status.full_text.gsub("\n", ''), [:bold, :green, :on_black])
57
60
  end
@@ -63,6 +66,7 @@ module T
63
66
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
64
67
  def search(keyword, *keywords)
65
68
  keywords.unshift(keyword)
69
+ require 'tweetstream'
66
70
  client.on_inited do
67
71
  search = T::Search.new
68
72
  search.options = search.options.merge(options)
@@ -89,6 +93,7 @@ module T
89
93
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
90
94
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
91
95
  def timeline
96
+ require 'tweetstream'
92
97
  client.on_inited do
93
98
  cli = T::CLI.new
94
99
  cli.options = cli.options.merge(options)
@@ -117,8 +122,11 @@ module T
117
122
  def users(user_id, *user_ids)
118
123
  user_ids.unshift(user_id)
119
124
  user_ids.map!(&:to_i)
125
+ require 'tweetstream'
120
126
  client.on_inited do
121
127
  if options['csv']
128
+ require 'csv'
129
+ require 'fastercsv' unless Array.new.respond_to?(:to_csv)
122
130
  say STATUS_HEADINGS.to_csv
123
131
  elsif options['long'] && STDOUT.tty?
124
132
  headings = STATUS_HEADINGS.size.times.map do |index|
@@ -13,7 +13,7 @@ module T
13
13
 
14
14
  # @return [Integer]
15
15
  def self.patch
16
- 7
16
+ 8
17
17
  end
18
18
 
19
19
  # @return [String, NilClass]
@@ -113,6 +113,9 @@ testcli
113
113
  stub_get("/1/direct_messages.json").
114
114
  with(:query => {:count => "20"}).
115
115
  to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
116
+ stub_get("/1/direct_messages.json").
117
+ with(:query => {:count => "10", "max_id"=>"1624782205"}).
118
+ to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
116
119
  end
117
120
  it "should request the correct resource" do
118
121
  @cli.direct_messages
@@ -123,16 +126,16 @@ testcli
123
126
  it "should have the correct output" do
124
127
  @cli.direct_messages
125
128
  $stdout.string.should == <<-eos
126
- sferik: Sounds good. Meeting Tuesday is fine. (about 1 year ago)
127
- sferik: That's great news! Let's plan to chat around 8 AM tomorrow Pacific time. Does that work for you? (about 1 year ago)
128
- sferik: I asked Yehuda about the stipend. I believe it has already been sent. Glad you're feeling better. (about 1 year ago)
129
- sferik: Just checking in. How's everything going? (about 1 year ago)
130
- sferik: Not sure about the payment. Feel free to ask Leah or Yehuda directly. Think you'll be able to finish up your work on graphs this weekend? (about 1 year ago)
131
- sferik: How are the graph enhancements coming? (about 1 year ago)
132
- sferik: How are the graphs coming? I'm really looking forward to seeing what you do with Raphaël. (about 1 year ago)
133
- sferik: Awesome! Any luck duplicating the Gemfile.lock error with Ruby 1.9.2 final? (about 1 year ago)
134
- sferik: I just committed a bunch of cleanup and fixes to RailsAdmin that touched many of files. Make sure you pull to avoid conflicts. (about 1 year ago)
135
- sferik: I'm trying to debug the issue you were having with the Bundler Gemfile.lock shortref. What version of Ruby and RubyGems are you running? (about 1 year ago)
129
+ sferik: Sounds good. Meeting Tuesday is fine. (a year ago)
130
+ sferik: That's great news! Let's plan to chat around 8 AM tomorrow Pacific time. Does that work for you? (a year ago)
131
+ sferik: I asked Yehuda about the stipend. I believe it has already been sent. Glad you're feeling better. (a year ago)
132
+ sferik: Just checking in. How's everything going? (a year ago)
133
+ sferik: Not sure about the payment. Feel free to ask Leah or Yehuda directly. Think you'll be able to finish up your work on graphs this weekend? (a year ago)
134
+ sferik: How are the graph enhancements coming? (a year ago)
135
+ sferik: How are the graphs coming? I'm really looking forward to seeing what you do with Raphaël. (a year ago)
136
+ sferik: Awesome! Any luck duplicating the Gemfile.lock error with Ruby 1.9.2 final? (a year ago)
137
+ sferik: I just committed a bunch of cleanup and fixes to RailsAdmin that touched many of files. Make sure you pull to avoid conflicts. (a year ago)
138
+ sferik: I'm trying to debug the issue you were having with the Bundler Gemfile.lock shortref. What version of Ruby and RubyGems are you running? (a year ago)
136
139
  eos
137
140
  end
138
141
  context "--csv" do
@@ -186,8 +189,13 @@ ID Posted at Screen name Text
186
189
  with(:query => {:count => "200"}).
187
190
  to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
188
191
  stub_get("/1/direct_messages.json").
189
- with(:query => {:count => "145", :max_id => "1624782205"}).
190
- to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
192
+ with(:query => {:count => "200", :max_id => "1624782205"}).
193
+ to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
194
+ (5..195).step(10).to_a.reverse.each do |count|
195
+ stub_get("/1/direct_messages.json").
196
+ with(:query => {:count => count, :max_id => "1624782205"}).
197
+ to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
198
+ end
191
199
  end
192
200
  it "should limit the number of results to 1" do
193
201
  @cli.options = @cli.options.merge("number" => 1)
@@ -203,8 +211,13 @@ ID Posted at Screen name Text
203
211
  with(:query => {:count => "200"}).
204
212
  should have_been_made
205
213
  a_get("/1/direct_messages.json").
206
- with(:query => {:count => "145", :max_id => "1624782205"}).
207
- should have_been_made
214
+ with(:query => {:count => "200", :max_id => "1624782205"}).
215
+ should have_been_made.times(14)
216
+ (5..195).step(10).to_a.reverse.each do |count|
217
+ a_get("/1/direct_messages.json").
218
+ with(:query => {:count => count, :max_id => "1624782205"}).
219
+ should have_been_made
220
+ end
208
221
  end
209
222
  end
210
223
  context "--reverse" do
@@ -214,16 +227,16 @@ ID Posted at Screen name Text
214
227
  it "should reverse the order of the sort" do
215
228
  @cli.direct_messages
216
229
  $stdout.string.should == <<-eos
217
- sferik: I'm trying to debug the issue you were having with the Bundler Gemfile.lock shortref. What version of Ruby and RubyGems are you running? (about 1 year ago)
218
- sferik: I just committed a bunch of cleanup and fixes to RailsAdmin that touched many of files. Make sure you pull to avoid conflicts. (about 1 year ago)
219
- sferik: Awesome! Any luck duplicating the Gemfile.lock error with Ruby 1.9.2 final? (about 1 year ago)
220
- sferik: How are the graphs coming? I'm really looking forward to seeing what you do with Raphaël. (about 1 year ago)
221
- sferik: How are the graph enhancements coming? (about 1 year ago)
222
- sferik: Not sure about the payment. Feel free to ask Leah or Yehuda directly. Think you'll be able to finish up your work on graphs this weekend? (about 1 year ago)
223
- sferik: Just checking in. How's everything going? (about 1 year ago)
224
- sferik: I asked Yehuda about the stipend. I believe it has already been sent. Glad you're feeling better. (about 1 year ago)
225
- sferik: That's great news! Let's plan to chat around 8 AM tomorrow Pacific time. Does that work for you? (about 1 year ago)
226
- sferik: Sounds good. Meeting Tuesday is fine. (about 1 year ago)
230
+ sferik: I'm trying to debug the issue you were having with the Bundler Gemfile.lock shortref. What version of Ruby and RubyGems are you running? (a year ago)
231
+ sferik: I just committed a bunch of cleanup and fixes to RailsAdmin that touched many of files. Make sure you pull to avoid conflicts. (a year ago)
232
+ sferik: Awesome! Any luck duplicating the Gemfile.lock error with Ruby 1.9.2 final? (a year ago)
233
+ sferik: How are the graphs coming? I'm really looking forward to seeing what you do with Raphaël. (a year ago)
234
+ sferik: How are the graph enhancements coming? (a year ago)
235
+ sferik: Not sure about the payment. Feel free to ask Leah or Yehuda directly. Think you'll be able to finish up your work on graphs this weekend? (a year ago)
236
+ sferik: Just checking in. How's everything going? (a year ago)
237
+ sferik: I asked Yehuda about the stipend. I believe it has already been sent. Glad you're feeling better. (a year ago)
238
+ sferik: That's great news! Let's plan to chat around 8 AM tomorrow Pacific time. Does that work for you? (a year ago)
239
+ sferik: Sounds good. Meeting Tuesday is fine. (a year ago)
227
240
  eos
228
241
  end
229
242
  end
@@ -234,6 +247,9 @@ ID Posted at Screen name Text
234
247
  stub_get("/1/direct_messages/sent.json").
235
248
  with(:query => {:count => "20"}).
236
249
  to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
250
+ stub_get("/1/direct_messages/sent.json").
251
+ with(:query => {:count => "10", "max_id"=>"1624782205"}).
252
+ to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
237
253
  end
238
254
  it "should request the correct resource" do
239
255
  @cli.direct_messages_sent
@@ -244,16 +260,16 @@ ID Posted at Screen name Text
244
260
  it "should have the correct output" do
245
261
  @cli.direct_messages_sent
246
262
  $stdout.string.should == <<-eos
247
- hurrycane: Sounds good. Meeting Tuesday is fine. (about 1 year ago)
248
- hurrycane: That's great news! Let's plan to chat around 8 AM tomorrow Pacific time. Does that work for you? (about 1 year ago)
249
- hurrycane: I asked Yehuda about the stipend. I believe it has already been sent. Glad you're feeling better. (about 1 year ago)
250
- hurrycane: Just checking in. How's everything going? (about 1 year ago)
251
- hurrycane: Not sure about the payment. Feel free to ask Leah or Yehuda directly. Think you'll be able to finish up your work on graphs this weekend? (about 1 year ago)
252
- hurrycane: How are the graph enhancements coming? (about 1 year ago)
253
- hurrycane: How are the graphs coming? I'm really looking forward to seeing what you do with Raphaël. (about 1 year ago)
254
- hurrycane: Awesome! Any luck duplicating the Gemfile.lock error with Ruby 1.9.2 final? (about 1 year ago)
255
- hurrycane: I just committed a bunch of cleanup and fixes to RailsAdmin that touched many of files. Make sure you pull to avoid conflicts. (about 1 year ago)
256
- hurrycane: I'm trying to debug the issue you were having with the Bundler Gemfile.lock shortref. What version of Ruby and RubyGems are you running? (about 1 year ago)
263
+ hurrycane: Sounds good. Meeting Tuesday is fine. (a year ago)
264
+ hurrycane: That's great news! Let's plan to chat around 8 AM tomorrow Pacific time. Does that work for you? (a year ago)
265
+ hurrycane: I asked Yehuda about the stipend. I believe it has already been sent. Glad you're feeling better. (a year ago)
266
+ hurrycane: Just checking in. How's everything going? (a year ago)
267
+ hurrycane: Not sure about the payment. Feel free to ask Leah or Yehuda directly. Think you'll be able to finish up your work on graphs this weekend? (a year ago)
268
+ hurrycane: How are the graph enhancements coming? (a year ago)
269
+ hurrycane: How are the graphs coming? I'm really looking forward to seeing what you do with Raphaël. (a year ago)
270
+ hurrycane: Awesome! Any luck duplicating the Gemfile.lock error with Ruby 1.9.2 final? (a year ago)
271
+ hurrycane: I just committed a bunch of cleanup and fixes to RailsAdmin that touched many of files. Make sure you pull to avoid conflicts. (a year ago)
272
+ hurrycane: I'm trying to debug the issue you were having with the Bundler Gemfile.lock shortref. What version of Ruby and RubyGems are you running? (a year ago)
257
273
  eos
258
274
  end
259
275
  context "--csv" do
@@ -307,8 +323,13 @@ ID Posted at Screen name Text
307
323
  with(:query => {:count => "200"}).
308
324
  to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
309
325
  stub_get("/1/direct_messages/sent.json").
310
- with(:query => {:count => "145", :max_id => "1624782205"}).
326
+ with(:query => {:count => "200", :max_id => "1624782205"}).
311
327
  to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
328
+ (5..195).step(10).to_a.reverse.each do |count|
329
+ stub_get("/1/direct_messages/sent.json").
330
+ with(:query => {:count => count, :max_id => "1624782205"}).
331
+ to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
332
+ end
312
333
  end
313
334
  it "should limit the number of results 1" do
314
335
  @cli.options = @cli.options.merge("number" => 1)
@@ -324,8 +345,13 @@ ID Posted at Screen name Text
324
345
  with(:query => {:count => "200"}).
325
346
  should have_been_made
326
347
  a_get("/1/direct_messages/sent.json").
327
- with(:query => {:count => "145", :max_id => "1624782205"}).
328
- should have_been_made
348
+ with(:query => {:count => "200", :max_id => "1624782205"}).
349
+ should have_been_made.times(14)
350
+ (5..195).step(10).to_a.reverse.each do |count|
351
+ a_get("/1/direct_messages/sent.json").
352
+ with(:query => {:count => count, :max_id => "1624782205"}).
353
+ should have_been_made
354
+ end
329
355
  end
330
356
  end
331
357
  context "--reverse" do
@@ -335,16 +361,16 @@ ID Posted at Screen name Text
335
361
  it "should reverse the order of the sort" do
336
362
  @cli.direct_messages_sent
337
363
  $stdout.string.should == <<-eos
338
- hurrycane: I'm trying to debug the issue you were having with the Bundler Gemfile.lock shortref. What version of Ruby and RubyGems are you running? (about 1 year ago)
339
- hurrycane: I just committed a bunch of cleanup and fixes to RailsAdmin that touched many of files. Make sure you pull to avoid conflicts. (about 1 year ago)
340
- hurrycane: Awesome! Any luck duplicating the Gemfile.lock error with Ruby 1.9.2 final? (about 1 year ago)
341
- hurrycane: How are the graphs coming? I'm really looking forward to seeing what you do with Raphaël. (about 1 year ago)
342
- hurrycane: How are the graph enhancements coming? (about 1 year ago)
343
- hurrycane: Not sure about the payment. Feel free to ask Leah or Yehuda directly. Think you'll be able to finish up your work on graphs this weekend? (about 1 year ago)
344
- hurrycane: Just checking in. How's everything going? (about 1 year ago)
345
- hurrycane: I asked Yehuda about the stipend. I believe it has already been sent. Glad you're feeling better. (about 1 year ago)
346
- hurrycane: That's great news! Let's plan to chat around 8 AM tomorrow Pacific time. Does that work for you? (about 1 year ago)
347
- hurrycane: Sounds good. Meeting Tuesday is fine. (about 1 year ago)
364
+ hurrycane: I'm trying to debug the issue you were having with the Bundler Gemfile.lock shortref. What version of Ruby and RubyGems are you running? (a year ago)
365
+ hurrycane: I just committed a bunch of cleanup and fixes to RailsAdmin that touched many of files. Make sure you pull to avoid conflicts. (a year ago)
366
+ hurrycane: Awesome! Any luck duplicating the Gemfile.lock error with Ruby 1.9.2 final? (a year ago)
367
+ hurrycane: How are the graphs coming? I'm really looking forward to seeing what you do with Raphaël. (a year ago)
368
+ hurrycane: How are the graph enhancements coming? (a year ago)
369
+ hurrycane: Not sure about the payment. Feel free to ask Leah or Yehuda directly. Think you'll be able to finish up your work on graphs this weekend? (a year ago)
370
+ hurrycane: Just checking in. How's everything going? (a year ago)
371
+ hurrycane: I asked Yehuda about the stipend. I believe it has already been sent. Glad you're feeling better. (a year ago)
372
+ hurrycane: That's great news! Let's plan to chat around 8 AM tomorrow Pacific time. Does that work for you? (a year ago)
373
+ hurrycane: Sounds good. Meeting Tuesday is fine. (a year ago)
348
374
  eos
349
375
  end
350
376
  end
@@ -538,7 +564,7 @@ ID Since Tweets Favorites Listed Following Followers Scre...
538
564
  end
539
565
  it "should have the correct output" do
540
566
  @cli.dm("pengwynn", "Creating a fixture for the Twitter gem")
541
- $stdout.string.chomp.should == "Direct Message sent from @testcli to @pengwynn (about 1 year ago)."
567
+ $stdout.string.chomp.should == "Direct Message sent from @testcli to @pengwynn (a year ago)."
542
568
  end
543
569
  context "--id" do
544
570
  before do
@@ -646,13 +672,13 @@ ID Since Tweets Favorites Listed Following Followers Scre...
646
672
  before do
647
673
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
648
674
  stub_get("/1/friendships/exists.json").
649
- with(:query => {:user_a => "ev", :user_b => "testcli"}).
675
+ with(:query => {:screen_name_a => "ev", :screen_name_b => "testcli"}).
650
676
  to_return(:body => fixture("true.json"), :headers => {:content_type => "application/json; charset=utf-8"})
651
677
  end
652
678
  it "should request the correct resource" do
653
679
  @cli.does_follow("ev")
654
680
  a_get("/1/friendships/exists.json").
655
- with(:query => {:user_a => "ev", :user_b => "testcli"}).
681
+ with(:query => {:screen_name_a => "ev", :screen_name_b => "testcli"}).
656
682
  should have_been_made
657
683
  end
658
684
  it "should have the correct output" do
@@ -666,7 +692,7 @@ ID Since Tweets Favorites Listed Following Followers Scre...
666
692
  with(:query => {:user_id => "20"}).
667
693
  to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
668
694
  stub_get("/1/friendships/exists.json").
669
- with(:query => {:user_a => "sferik", :user_b => "testcli"}).
695
+ with(:query => {:screen_name_a => "sferik", :screen_name_b => "testcli"}).
670
696
  to_return(:body => fixture("true.json"), :headers => {:content_type => "application/json; charset=utf-8"})
671
697
  end
672
698
  it "should request the correct resource" do
@@ -675,7 +701,7 @@ ID Since Tweets Favorites Listed Following Followers Scre...
675
701
  with(:query => {:user_id => "20"}).
676
702
  should have_been_made
677
703
  a_get("/1/friendships/exists.json").
678
- with(:query => {:user_a => "sferik", :user_b => "testcli"}).
704
+ with(:query => {:screen_name_a => "sferik", :screen_name_b => "testcli"}).
679
705
  should have_been_made
680
706
  end
681
707
  end
@@ -694,7 +720,7 @@ ID Since Tweets Favorites Listed Following Followers Scre...
694
720
  with(:query => {:user_id => "428004849"}).
695
721
  to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
696
722
  stub_get("/1/friendships/exists.json").
697
- with(:query => {:user_a => "sferik", :user_b => "sferik"}).
723
+ with(:query => {:screen_name_a => "sferik", :screen_name_b => "sferik"}).
698
724
  to_return(:body => fixture("true.json"), :headers => {:content_type => "application/json; charset=utf-8"})
699
725
  end
700
726
  it "should request the correct resource" do
@@ -706,7 +732,7 @@ ID Since Tweets Favorites Listed Following Followers Scre...
706
732
  with(:query => {:user_id => "428004849"}).
707
733
  should have_been_made
708
734
  a_get("/1/friendships/exists.json").
709
- with(:query => {:user_a => "sferik", :user_b => "sferik"}).
735
+ with(:query => {:screen_name_a => "sferik", :screen_name_b => "sferik"}).
710
736
  should have_been_made
711
737
  end
712
738
  end
@@ -714,7 +740,7 @@ ID Since Tweets Favorites Listed Following Followers Scre...
714
740
  context "false" do
715
741
  before do
716
742
  stub_get("/1/friendships/exists.json").
717
- with(:query => {:user_a => "ev", :user_b => "testcli"}).
743
+ with(:query => {:screen_name_a => "ev", :screen_name_b => "testcli"}).
718
744
  to_return(:body => fixture("false.json"), :headers => {:content_type => "application/json; charset=utf-8"})
719
745
  end
720
746
  it "should exit" do
@@ -722,7 +748,7 @@ ID Since Tweets Favorites Listed Following Followers Scre...
722
748
  @cli.does_follow("ev")
723
749
  end.should raise_error(SystemExit)
724
750
  a_get("/1/friendships/exists.json").
725
- with(:query => {:user_a => "ev", :user_b => "testcli"}).
751
+ with(:query => {:screen_name_a => "ev", :screen_name_b => "testcli"}).
726
752
  should have_been_made
727
753
  end
728
754
  end
@@ -771,6 +797,9 @@ ID Since Tweets Favorites Listed Following Followers Scre...
771
797
  @cli.favorites
772
798
  $stdout.string.should == <<-eos
773
799
  ID,Posted at,Screen name,Text
800
+ 194548141663027221,2011-04-23 22:08:32 +0000,ryanbigg,"Things that have made my life better, in order of greatness: GitHub, Travis CI, the element Oxygen."
801
+ 194563027248121416,2011-04-23 22:08:11 +0000,sfbike,"Bike to Work Counts in: 73% of morning Market traffic was bikes! 1,031 bikers counted in 1 hour--that's 17 per minute. Way to roll, SF!"
802
+ 194548120271416632,2011-04-23 22:07:51 +0000,levie,"I know you're as rare as leprechauns, but if you're an amazing designer then Box wants to hire you. Email recruiting@box.com"
774
803
  194548121416630272,2011-04-23 22:07:41 +0000,natevillegas,RT @gelobautista #riordan RT @WilI_Smith: Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it's called the present.
775
804
  194547993607806976,2011-04-23 22:07:10 +0000,TD,@kelseysilver how long will you be in town?
776
805
  194547987593183233,2011-04-23 22:07:09 +0000,rusashka,@maciej hahaha :) @gpena together we're going to cover all core 28 languages!
@@ -799,6 +828,9 @@ ID,Posted at,Screen name,Text
799
828
  @cli.favorites
800
829
  $stdout.string.should == <<-eos
801
830
  ID Posted at Screen name Text
831
+ 194548141663027221 Apr 23 2011 @ryanbigg Things that have made my lif...
832
+ 194563027248121416 Apr 23 2011 @sfbike Bike to Work Counts in: 73% ...
833
+ 194548120271416632 Apr 23 2011 @levie I know you're as rare as lep...
802
834
  194548121416630272 Apr 23 2011 @natevillegas RT @gelobautista #riordan RT...
803
835
  194547993607806976 Apr 23 2011 @TD @kelseysilver how long will ...
804
836
  194547987593183233 Apr 23 2011 @rusashka @maciej hahaha :) @gpena tog...
@@ -843,6 +875,9 @@ ID Posted at Screen name Text
843
875
  194547987593183233 Apr 23 2011 @rusashka @maciej hahaha :) @gpena tog...
844
876
  194547993607806976 Apr 23 2011 @TD @kelseysilver how long will ...
845
877
  194548121416630272 Apr 23 2011 @natevillegas RT @gelobautista #riordan RT...
878
+ 194548120271416632 Apr 23 2011 @levie I know you're as rare as lep...
879
+ 194563027248121416 Apr 23 2011 @sfbike Bike to Work Counts in: 73% ...
880
+ 194548141663027221 Apr 23 2011 @ryanbigg Things that have made my lif...
846
881
  eos
847
882
  end
848
883
  end
@@ -856,8 +891,13 @@ ID Posted at Screen name Text
856
891
  with(:query => {:count => "200"}).
857
892
  to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
858
893
  stub_get("/1/favorites.json").
859
- with(:query => {:count => "145", :max_id => "194546264212385792"}).
860
- to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
894
+ with(:query => {:count => "200", :max_id => "194546264212385792"}).
895
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
896
+ (5..185).step(20).to_a.reverse.each do |count|
897
+ stub_get("/1/favorites.json").
898
+ with(:query => {:count => count, :max_id => "194546264212385792"}).
899
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
900
+ end
861
901
  end
862
902
  it "should limit the number of results to 1" do
863
903
  @cli.options = @cli.options.merge("number" => 1)
@@ -873,8 +913,13 @@ ID Posted at Screen name Text
873
913
  with(:query => {:count => "200"}).
874
914
  should have_been_made
875
915
  a_get("/1/favorites.json").
876
- with(:query => {:count => "145", :max_id => "194546264212385792"}).
877
- should have_been_made
916
+ with(:query => {:count => "200", :max_id => "194546264212385792"}).
917
+ should have_been_made.times(7)
918
+ (5..185).step(20).to_a.reverse.each do |count|
919
+ a_get("/1/favorites.json").
920
+ with(:query => {:count => count, :max_id => "194546264212385792"}).
921
+ should have_been_made
922
+ end
878
923
  end
879
924
  end
880
925
  context "with a user passed" do
@@ -1767,6 +1812,9 @@ ID Created at Screen name Slug Members Subscribers ...
1767
1812
  @cli.mentions
1768
1813
  $stdout.string.should == <<-eos
1769
1814
  ID,Posted at,Screen name,Text
1815
+ 194548141663027221,2011-04-23 22:08:32 +0000,ryanbigg,"Things that have made my life better, in order of greatness: GitHub, Travis CI, the element Oxygen."
1816
+ 194563027248121416,2011-04-23 22:08:11 +0000,sfbike,"Bike to Work Counts in: 73% of morning Market traffic was bikes! 1,031 bikers counted in 1 hour--that's 17 per minute. Way to roll, SF!"
1817
+ 194548120271416632,2011-04-23 22:07:51 +0000,levie,"I know you're as rare as leprechauns, but if you're an amazing designer then Box wants to hire you. Email recruiting@box.com"
1770
1818
  194548121416630272,2011-04-23 22:07:41 +0000,natevillegas,RT @gelobautista #riordan RT @WilI_Smith: Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it's called the present.
1771
1819
  194547993607806976,2011-04-23 22:07:10 +0000,TD,@kelseysilver how long will you be in town?
1772
1820
  194547987593183233,2011-04-23 22:07:09 +0000,rusashka,@maciej hahaha :) @gpena together we're going to cover all core 28 languages!
@@ -1795,6 +1843,9 @@ ID,Posted at,Screen name,Text
1795
1843
  @cli.mentions
1796
1844
  $stdout.string.should == <<-eos
1797
1845
  ID Posted at Screen name Text
1846
+ 194548141663027221 Apr 23 2011 @ryanbigg Things that have made my lif...
1847
+ 194563027248121416 Apr 23 2011 @sfbike Bike to Work Counts in: 73% ...
1848
+ 194548120271416632 Apr 23 2011 @levie I know you're as rare as lep...
1798
1849
  194548121416630272 Apr 23 2011 @natevillegas RT @gelobautista #riordan RT...
1799
1850
  194547993607806976 Apr 23 2011 @TD @kelseysilver how long will ...
1800
1851
  194547987593183233 Apr 23 2011 @rusashka @maciej hahaha :) @gpena tog...
@@ -1839,6 +1890,9 @@ ID Posted at Screen name Text
1839
1890
  194547987593183233 Apr 23 2011 @rusashka @maciej hahaha :) @gpena tog...
1840
1891
  194547993607806976 Apr 23 2011 @TD @kelseysilver how long will ...
1841
1892
  194548121416630272 Apr 23 2011 @natevillegas RT @gelobautista #riordan RT...
1893
+ 194548120271416632 Apr 23 2011 @levie I know you're as rare as lep...
1894
+ 194563027248121416 Apr 23 2011 @sfbike Bike to Work Counts in: 73% ...
1895
+ 194548141663027221 Apr 23 2011 @ryanbigg Things that have made my lif...
1842
1896
  eos
1843
1897
  end
1844
1898
  end
@@ -1852,8 +1906,13 @@ ID Posted at Screen name Text
1852
1906
  with(:query => {:count => "200"}).
1853
1907
  to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1854
1908
  stub_get("/1/statuses/mentions.json").
1855
- with(:query => {:count => "145", :max_id => "194546264212385792"}).
1856
- to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1909
+ with(:query => {:count => "200", :max_id => "194546264212385792"}).
1910
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1911
+ (5..185).step(20).to_a.reverse.each do |count|
1912
+ stub_get("/1/statuses/mentions.json").
1913
+ with(:query => {:count => count, :max_id => "194546264212385792"}).
1914
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1915
+ end
1857
1916
  end
1858
1917
  it "should limit the number of results to 1" do
1859
1918
  @cli.options = @cli.options.merge("number" => 1)
@@ -1869,8 +1928,13 @@ ID Posted at Screen name Text
1869
1928
  with(:query => {:count => "200"}).
1870
1929
  should have_been_made
1871
1930
  a_get("/1/statuses/mentions.json").
1872
- with(:query => {:count => "145", :max_id => "194546264212385792"}).
1873
- should have_been_made
1931
+ with(:query => {:count => "200", :max_id => "194546264212385792"}).
1932
+ should have_been_made.times(7)
1933
+ (5..185).step(20).to_a.reverse.each do |count|
1934
+ a_get("/1/statuses/mentions.json").
1935
+ with(:query => {:count => count, :max_id => "194546264212385792"}).
1936
+ should have_been_made
1937
+ end
1874
1938
  end
1875
1939
  end
1876
1940
  end
@@ -1934,7 +1998,7 @@ ID Posted at Screen name Text
1934
1998
  $stdout.string.should == <<-eos
1935
1999
  Hourly limit 20,000
1936
2000
  Remaining hits 19,993
1937
- Reset time Oct 26 2010 (about 1 year from now)
2001
+ Reset time Oct 26 2010 (a year from now)
1938
2002
  eos
1939
2003
  end
1940
2004
  context "--csv" do
@@ -2084,6 +2148,9 @@ Hourly limit,Remaining hits,Reset time
2084
2148
  @cli.retweets
2085
2149
  $stdout.string.should == <<-eos
2086
2150
  ID,Posted at,Screen name,Text
2151
+ 194548141663027221,2011-04-23 22:08:32 +0000,ryanbigg,"Things that have made my life better, in order of greatness: GitHub, Travis CI, the element Oxygen."
2152
+ 194563027248121416,2011-04-23 22:08:11 +0000,sfbike,"Bike to Work Counts in: 73% of morning Market traffic was bikes! 1,031 bikers counted in 1 hour--that's 17 per minute. Way to roll, SF!"
2153
+ 194548120271416632,2011-04-23 22:07:51 +0000,levie,"I know you're as rare as leprechauns, but if you're an amazing designer then Box wants to hire you. Email recruiting@box.com"
2087
2154
  194548121416630272,2011-04-23 22:07:41 +0000,natevillegas,RT @gelobautista #riordan RT @WilI_Smith: Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it's called the present.
2088
2155
  194547993607806976,2011-04-23 22:07:10 +0000,TD,@kelseysilver how long will you be in town?
2089
2156
  194547987593183233,2011-04-23 22:07:09 +0000,rusashka,@maciej hahaha :) @gpena together we're going to cover all core 28 languages!
@@ -2112,6 +2179,9 @@ ID,Posted at,Screen name,Text
2112
2179
  @cli.retweets
2113
2180
  $stdout.string.should == <<-eos
2114
2181
  ID Posted at Screen name Text
2182
+ 194548141663027221 Apr 23 2011 @ryanbigg Things that have made my lif...
2183
+ 194563027248121416 Apr 23 2011 @sfbike Bike to Work Counts in: 73% ...
2184
+ 194548120271416632 Apr 23 2011 @levie I know you're as rare as lep...
2115
2185
  194548121416630272 Apr 23 2011 @natevillegas RT @gelobautista #riordan RT...
2116
2186
  194547993607806976 Apr 23 2011 @TD @kelseysilver how long will ...
2117
2187
  194547987593183233 Apr 23 2011 @rusashka @maciej hahaha :) @gpena tog...
@@ -2156,6 +2226,9 @@ ID Posted at Screen name Text
2156
2226
  194547987593183233 Apr 23 2011 @rusashka @maciej hahaha :) @gpena tog...
2157
2227
  194547993607806976 Apr 23 2011 @TD @kelseysilver how long will ...
2158
2228
  194548121416630272 Apr 23 2011 @natevillegas RT @gelobautista #riordan RT...
2229
+ 194548120271416632 Apr 23 2011 @levie I know you're as rare as lep...
2230
+ 194563027248121416 Apr 23 2011 @sfbike Bike to Work Counts in: 73% ...
2231
+ 194548141663027221 Apr 23 2011 @ryanbigg Things that have made my lif...
2159
2232
  eos
2160
2233
  end
2161
2234
  end
@@ -2169,8 +2242,13 @@ ID Posted at Screen name Text
2169
2242
  with(:query => {:count => "200"}).
2170
2243
  to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2171
2244
  stub_get("/1/statuses/retweeted_by_me.json").
2172
- with(:query => {:count => "145", :max_id => "194546264212385792"}).
2173
- to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2245
+ with(:query => {:count => "200", :max_id => "194546264212385792"}).
2246
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2247
+ (5..185).step(20).to_a.reverse.each do |count|
2248
+ stub_get("/1/statuses/retweeted_by_me.json").
2249
+ with(:query => {:count => count, :max_id => "194546264212385792"}).
2250
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2251
+ end
2174
2252
  end
2175
2253
  it "should limit the number of results to 1" do
2176
2254
  @cli.options = @cli.options.merge("number" => 1)
@@ -2186,8 +2264,13 @@ ID Posted at Screen name Text
2186
2264
  with(:query => {:count => "200"}).
2187
2265
  should have_been_made
2188
2266
  a_get("/1/statuses/retweeted_by_me.json").
2189
- with(:query => {:count => "145", :max_id => "194546264212385792"}).
2190
- should have_been_made
2267
+ with(:query => {:count => "200", :max_id => "194546264212385792"}).
2268
+ should have_been_made.times(7)
2269
+ (5..185).step(20).to_a.reverse.each do |count|
2270
+ a_get("/1/statuses/retweeted_by_me.json").
2271
+ with(:query => {:count => count, :max_id => "194546264212385792"}).
2272
+ should have_been_made
2273
+ end
2191
2274
  end
2192
2275
  end
2193
2276
  context "with a user passed" do
@@ -2560,6 +2643,9 @@ ID Since Tweets Favorites Listed Following Followers Scre...
2560
2643
  @cli.timeline
2561
2644
  $stdout.string.should == <<-eos
2562
2645
  ID,Posted at,Screen name,Text
2646
+ 194548141663027221,2011-04-23 22:08:32 +0000,ryanbigg,"Things that have made my life better, in order of greatness: GitHub, Travis CI, the element Oxygen."
2647
+ 194563027248121416,2011-04-23 22:08:11 +0000,sfbike,"Bike to Work Counts in: 73% of morning Market traffic was bikes! 1,031 bikers counted in 1 hour--that's 17 per minute. Way to roll, SF!"
2648
+ 194548120271416632,2011-04-23 22:07:51 +0000,levie,"I know you're as rare as leprechauns, but if you're an amazing designer then Box wants to hire you. Email recruiting@box.com"
2563
2649
  194548121416630272,2011-04-23 22:07:41 +0000,natevillegas,RT @gelobautista #riordan RT @WilI_Smith: Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it's called the present.
2564
2650
  194547993607806976,2011-04-23 22:07:10 +0000,TD,@kelseysilver how long will you be in town?
2565
2651
  194547987593183233,2011-04-23 22:07:09 +0000,rusashka,@maciej hahaha :) @gpena together we're going to cover all core 28 languages!
@@ -2588,6 +2674,9 @@ ID,Posted at,Screen name,Text
2588
2674
  @cli.timeline
2589
2675
  $stdout.string.should == <<-eos
2590
2676
  ID Posted at Screen name Text
2677
+ 194548141663027221 Apr 23 2011 @ryanbigg Things that have made my lif...
2678
+ 194563027248121416 Apr 23 2011 @sfbike Bike to Work Counts in: 73% ...
2679
+ 194548120271416632 Apr 23 2011 @levie I know you're as rare as lep...
2591
2680
  194548121416630272 Apr 23 2011 @natevillegas RT @gelobautista #riordan RT...
2592
2681
  194547993607806976 Apr 23 2011 @TD @kelseysilver how long will ...
2593
2682
  194547987593183233 Apr 23 2011 @rusashka @maciej hahaha :) @gpena tog...
@@ -2632,6 +2721,9 @@ ID Posted at Screen name Text
2632
2721
  194547987593183233 Apr 23 2011 @rusashka @maciej hahaha :) @gpena tog...
2633
2722
  194547993607806976 Apr 23 2011 @TD @kelseysilver how long will ...
2634
2723
  194548121416630272 Apr 23 2011 @natevillegas RT @gelobautista #riordan RT...
2724
+ 194548120271416632 Apr 23 2011 @levie I know you're as rare as lep...
2725
+ 194563027248121416 Apr 23 2011 @sfbike Bike to Work Counts in: 73% ...
2726
+ 194548141663027221 Apr 23 2011 @ryanbigg Things that have made my lif...
2635
2727
  eos
2636
2728
  end
2637
2729
  end
@@ -2645,8 +2737,13 @@ ID Posted at Screen name Text
2645
2737
  with(:query => {:count => "200"}).
2646
2738
  to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2647
2739
  stub_get("/1/statuses/home_timeline.json").
2648
- with(:query => {:count => "145", :max_id => "194546264212385792"}).
2649
- to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2740
+ with(:query => {:count => "200", :max_id => "194546264212385792"}).
2741
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2742
+ (5..185).step(20).to_a.reverse.each do |count|
2743
+ stub_get("/1/statuses/home_timeline.json").
2744
+ with(:query => {:count => count, :max_id => "194546264212385792"}).
2745
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2746
+ end
2650
2747
  end
2651
2748
  it "should limit the number of results to 1" do
2652
2749
  @cli.options = @cli.options.merge("number" => 1)
@@ -2662,8 +2759,13 @@ ID Posted at Screen name Text
2662
2759
  with(:query => {:count => "200"}).
2663
2760
  should have_been_made
2664
2761
  a_get("/1/statuses/home_timeline.json").
2665
- with(:query => {:count => "145", :max_id => "194546264212385792"}).
2666
- should have_been_made
2762
+ with(:query => {:count => "200", :max_id => "194546264212385792"}).
2763
+ should have_been_made.times(7)
2764
+ (5..185).step(20).to_a.reverse.each do |count|
2765
+ a_get("/1/statuses/home_timeline.json").
2766
+ with(:query => {:count => count, :max_id => "194546264212385792"}).
2767
+ should have_been_made
2768
+ end
2667
2769
  end
2668
2770
  end
2669
2771
  context "with a user passed" do
@@ -2701,8 +2803,13 @@ ID Posted at Screen name Text
2701
2803
  with(:query => {:count => "200", :screen_name => "sferik"}).
2702
2804
  to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2703
2805
  stub_get("/1/statuses/user_timeline.json").
2704
- with(:query => {:count => "145", :screen_name => "sferik", :max_id => "194546264212385792"}).
2705
- to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2806
+ with(:query => {:count => "200", :screen_name => "sferik", :max_id => "194546264212385792"}).
2807
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2808
+ (5..185).step(20).to_a.reverse.each do |count|
2809
+ stub_get("/1/statuses/user_timeline.json").
2810
+ with(:query => {:count => count, :screen_name => "sferik", :max_id => "194546264212385792"}).
2811
+ to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2812
+ end
2706
2813
  end
2707
2814
  it "should limit the number of results to 1" do
2708
2815
  @cli.options = @cli.options.merge("number" => 1)
@@ -2718,8 +2825,13 @@ ID Posted at Screen name Text
2718
2825
  with(:query => {:count => "200", :screen_name => "sferik"}).
2719
2826
  should have_been_made
2720
2827
  a_get("/1/statuses/user_timeline.json").
2721
- with(:query => {:count => "145", :screen_name => "sferik", :max_id => "194546264212385792"}).
2722
- should have_been_made
2828
+ with(:query => {:count => "200", :screen_name => "sferik", :max_id => "194546264212385792"}).
2829
+ should have_been_made.times(7)
2830
+ (5..185).step(20).to_a.reverse.each do |count|
2831
+ a_get("/1/statuses/user_timeline.json").
2832
+ with(:query => {:count => count, :screen_name => "sferik", :max_id => "194546264212385792"}).
2833
+ should have_been_made
2834
+ end
2723
2835
  end
2724
2836
  end
2725
2837
  end
@@ -3076,7 +3188,7 @@ Bio A mind forever voyaging through strange seas of thought, alone.
3076
3188
  Location San Francisco
3077
3189
  Status Not following
3078
3190
  Last update RT @tenderlove: [ANN] sqlite3-ruby => sqlite3 (10 months ago)
3079
- Since Jul 16 2007 (over 4 years ago)
3191
+ Since Jul 16 2007 (4 years ago)
3080
3192
  Tweets 3,479
3081
3193
  Favorites 1,040
3082
3194
  Listed 41