t 1.5.1 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -594,6 +594,7 @@ module T
594
594
 
595
595
  desc "status TWEET_ID", "Retrieves detailed information about a Tweet."
596
596
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
597
+ method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
597
598
  def status(status_id)
598
599
  status = client.status(status_id.to_i, :include_my_retweet => false)
599
600
  status_activity = client.status_activity(status_id.to_i)
@@ -614,24 +615,27 @@ module T
614
615
  elsif status.geo
615
616
  reverse_geocode(status.geo)
616
617
  end
617
- require 'htmlentities'
618
+ status_headings = ["ID", "Posted at", "Screen name", "Text", "Retweets", "Favorites", "Replies", "Source", "Location"]
618
619
  if options['csv']
619
620
  require 'csv'
620
621
  require 'fastercsv' unless Array.new.respond_to?(:to_csv)
621
- say ["ID", "Text", "Screen name", "Posted at", "Location", "Retweets", "Favorites", "Replies", "Source", "URL"].to_csv
622
- say [status.id, HTMLEntities.new.decode(status.full_text), status.from_user, csv_formatted_time(status), location, status.retweet_count, status_activity.favoriters_count, status_activity.repliers_count, strip_tags(status.source), "https://twitter.com/#{status.from_user}/status/#{status.id}"].to_csv
622
+ say status_headings.to_csv
623
+ say [status.id, csv_formatted_time(status), status.from_user, decode_full_text(status), status.retweet_count, status_activity.favoriters_count, status_activity.repliers_count, strip_tags(status.source), location].to_csv
624
+ elsif options['long']
625
+ array = [status.id, ls_formatted_time(status), "@#{status.from_user}", decode_full_text(status).gsub(/\n+/, ' '), status.retweet_count, status_activity.favoriters_count, status_activity.repliers_count, strip_tags(status.source), location]
626
+ format = options['format'] || status_headings.size.times.map{"%s"}
627
+ print_table_with_headings([array], status_headings, format)
623
628
  else
624
629
  array = []
625
630
  array << ["ID", status.id.to_s]
626
- array << ["Text", HTMLEntities.new.decode(status.full_text).gsub(/\n+/, ' ')]
631
+ array << ["Text", decode_full_text(status).gsub(/\n+/, ' ')]
627
632
  array << ["Screen name", "@#{status.from_user}"]
628
633
  array << ["Posted at", "#{ls_formatted_time(status)} (#{time_ago_in_words(status.created_at)} ago)"]
629
- array << ["Location", location] unless location.nil?
630
634
  array << ["Retweets", number_with_delimiter(status.retweet_count)]
631
635
  array << ["Favorites", number_with_delimiter(status_activity.favoriters_count)]
632
636
  array << ["Replies", number_with_delimiter(status_activity.repliers_count)]
633
637
  array << ["Source", strip_tags(status.source)]
634
- array << ["URL", "https://twitter.com/#{status.from_user}/status/#{status.id}"]
638
+ array << ["Location", location] unless location.nil?
635
639
  print_table(array)
636
640
  end
637
641
  end
@@ -779,6 +783,7 @@ module T
779
783
  desc "whois USER", "Retrieves profile information for the user."
780
784
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
781
785
  method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name."
786
+ method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
782
787
  def whois(user)
783
788
  require 't/core_ext/string'
784
789
  user = if options['id']
@@ -788,25 +793,22 @@ module T
788
793
  end
789
794
  user = client.user(user)
790
795
  require 'htmlentities'
791
- if options['csv']
792
- require 'csv'
793
- require 'fastercsv' unless Array.new.respond_to?(:to_csv)
794
- say ["ID", "Verified", "Name", "Screen name", "Bio", "Location", "Following", "Last update", "Lasted updated at", "Since", "Tweets", "Favorites", "Listed", "Following", "Followers", "URL"].to_csv
795
- say [user.id, user.verified?, user.name, user.screen_name, user.description, user.location, user.following?, HTMLEntities.new.decode(user.status.text), csv_formatted_time(user.status), csv_formatted_time(user), user.statuses_count, user.favourites_count, user.listed_count, user.friends_count, user.followers_count, user.url].to_csv
796
+ if options['csv'] || options['long']
797
+ print_users([user])
796
798
  else
797
799
  array = []
798
800
  array << ["ID", user.id.to_s]
799
- array << [user.verified ? "Name (Verified)" : "Name", user.name] unless user.name.nil?
800
- array << ["Bio", user.description.gsub(/\n+/, ' ')] unless user.description.nil?
801
- array << ["Location", user.location] unless user.location.nil?
802
- array << ["Status", user.following ? "Following" : "Not following"]
803
- array << ["Last update", "#{HTMLEntities.new.decode(user.status.text).gsub(/\n+/, ' ')} (#{time_ago_in_words(user.status.created_at)} ago)"] unless user.status.nil?
804
801
  array << ["Since", "#{ls_formatted_time(user)} (#{time_ago_in_words(user.created_at)} ago)"]
802
+ array << ["Last update", "#{decode_full_text(user.status).gsub(/\n+/, ' ')} (#{time_ago_in_words(user.status.created_at)} ago)"] unless user.status.nil?
803
+ array << ["Screen name", "@#{user.screen_name}"]
804
+ array << [user.verified ? "Name (Verified)" : "Name", user.name] unless user.name.nil?
805
805
  array << ["Tweets", number_with_delimiter(user.statuses_count)]
806
806
  array << ["Favorites", number_with_delimiter(user.favourites_count)]
807
807
  array << ["Listed", number_with_delimiter(user.listed_count)]
808
808
  array << ["Following", number_with_delimiter(user.friends_count)]
809
809
  array << ["Followers", number_with_delimiter(user.followers_count)]
810
+ array << ["Bio", user.description.gsub(/\n+/, ' ')] unless user.description.nil?
811
+ array << ["Location", user.location] unless user.location.nil?
810
812
  array << ["URL", user.url] unless user.url.nil?
811
813
  print_table(array)
812
814
  end
@@ -2,7 +2,7 @@ module T
2
2
  module Printable
3
3
  LIST_HEADINGS = ["ID", "Created at", "Screen name", "Slug", "Members", "Subscribers", "Mode", "Description"]
4
4
  TWEET_HEADINGS = ["ID", "Posted at", "Screen name", "Text"]
5
- USER_HEADINGS = ["ID", "Since", "Last tweeted at", "Tweets", "Favorites", "Listed", "Following", "Followers", "Screen name", "Name"]
5
+ USER_HEADINGS = ["ID", "Since", "Last tweeted at", "Tweets", "Favorites", "Listed", "Following", "Followers", "Screen name", "Name", "Verified", "Bio", "Status", "Location", "URL"]
6
6
  MONTH_IN_SECONDS = 2592000
7
7
 
8
8
  private
@@ -12,12 +12,11 @@ module T
12
12
  end
13
13
 
14
14
  def build_long_tweet(tweet)
15
- require 'htmlentities'
16
15
  [tweet.id, ls_formatted_time(tweet), "@#{tweet.from_user}", decode_full_text(tweet, options['decode_urls']).gsub(/\n+/, ' ')]
17
16
  end
18
17
 
19
18
  def build_long_user(user)
20
- [user.id, ls_formatted_time(user), ls_formatted_time(user.status), user.statuses_count, user.favourites_count, user.listed_count, user.friends_count, user.followers_count, "@#{user.screen_name}", user.name]
19
+ [user.id, ls_formatted_time(user), ls_formatted_time(user.status), user.statuses_count, user.favourites_count, user.listed_count, user.friends_count, user.followers_count, "@#{user.screen_name}", user.name, user.verified? ? "Yes" : "No", decode_full_text(user.status, options['decode_urls']).gsub(/\n+/, ' '), user.location, user.url]
21
20
  end
22
21
 
23
22
  def csv_formatted_time(object, key=:created_at)
@@ -52,7 +51,7 @@ module T
52
51
  def print_csv_user(user)
53
52
  require 'csv'
54
53
  require 'fastercsv' unless Array.new.respond_to?(:to_csv)
55
- say [user.id, csv_formatted_time(user), csv_formatted_time(user.status), user.statuses_count, user.favourites_count, user.listed_count, user.friends_count, user.followers_count, user.screen_name, user.name].to_csv
54
+ say [user.id, csv_formatted_time(user), csv_formatted_time(user.status), user.statuses_count, user.favourites_count, user.listed_count, user.friends_count, user.followers_count, user.screen_name, user.name, user.verified?, user.description, user.status.text, user.location, user.url].to_csv
56
55
  end
57
56
 
58
57
  def print_lists(lists)
@@ -96,6 +96,7 @@ module T
96
96
  end
97
97
 
98
98
  def decode_full_text(tweet, decode_full_urls = false)
99
+ require 'htmlentities'
99
100
  text = HTMLEntities.new.decode(tweet.full_text)
100
101
  text = decode_urls(text, tweet.urls) if decode_full_urls
101
102
  text
@@ -1,30 +1,32 @@
1
1
  module T
2
2
  class Version
3
+ class << self
3
4
 
4
- # @return [Integer]
5
- def self.major
6
- 1
7
- end
5
+ # @return [Integer]
6
+ def major
7
+ 1
8
+ end
8
9
 
9
- # @return [Integer]
10
- def self.minor
11
- 5
12
- end
10
+ # @return [Integer]
11
+ def minor
12
+ 6
13
+ end
13
14
 
14
- # @return [Integer]
15
- def self.patch
16
- 1
17
- end
15
+ # @return [Integer]
16
+ def patch
17
+ 0
18
+ end
18
19
 
19
- # @return [String, NilClass]
20
- def self.pre
21
- nil
22
- end
20
+ # @return [String, NilClass]
21
+ def pre
22
+ nil
23
+ end
23
24
 
24
- # @return [String]
25
- def self.to_s
26
- [major, minor, patch, pre].compact.join('.')
27
- end
25
+ # @return [String]
26
+ def to_s
27
+ [major, minor, patch, pre].compact.join('.')
28
+ end
28
29
 
30
+ end
29
31
  end
30
32
  end
@@ -484,9 +484,9 @@ ID Posted at Screen name Text
484
484
  it "outputs in CSV format" do
485
485
  @cli.groupies
486
486
  expect($stdout.string).to eq <<-eos
487
- ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
488
- 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland
489
- 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober
487
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
488
+ 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland ⚡,false,"Christian, husband, father, GitHubber, Co-host of @thechangelog, Co-author of Sass, Compass, #CSS book http://wynn.fm/sass-meap",@akosmasoftware Sass book! @hcatlin @nex3 are the brains behind Sass. :-),"Denton, TX",http://wynnnetherland.com
489
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
490
490
  eos
491
491
  end
492
492
  end
@@ -1077,9 +1077,9 @@ ID Posted at Screen name Text
1077
1077
  it "outputs in CSV format" do
1078
1078
  @cli.followings
1079
1079
  expect($stdout.string).to eq <<-eos
1080
- ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
1081
- 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland
1082
- 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober
1080
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
1081
+ 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland ⚡,false,"Christian, husband, father, GitHubber, Co-host of @thechangelog, Co-author of Sass, Compass, #CSS book http://wynn.fm/sass-meap",@akosmasoftware Sass book! @hcatlin @nex3 are the brains behind Sass. :-),"Denton, TX",http://wynnnetherland.com
1082
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
1083
1083
  eos
1084
1084
  end
1085
1085
  end
@@ -1221,9 +1221,9 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1221
1221
  it "outputs in CSV format" do
1222
1222
  @cli.followers
1223
1223
  expect($stdout.string).to eq <<-eos
1224
- ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
1225
- 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland
1226
- 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober
1224
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
1225
+ 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland ⚡,false,"Christian, husband, father, GitHubber, Co-host of @thechangelog, Co-author of Sass, Compass, #CSS book http://wynn.fm/sass-meap",@akosmasoftware Sass book! @hcatlin @nex3 are the brains behind Sass. :-),"Denton, TX",http://wynnnetherland.com
1226
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
1227
1227
  eos
1228
1228
  end
1229
1229
  end
@@ -1368,9 +1368,9 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1368
1368
  it "outputs in CSV format" do
1369
1369
  @cli.friends
1370
1370
  expect($stdout.string).to eq <<-eos
1371
- ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
1372
- 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland
1373
- 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober
1371
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
1372
+ 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland ⚡,false,"Christian, husband, father, GitHubber, Co-host of @thechangelog, Co-author of Sass, Compass, #CSS book http://wynn.fm/sass-meap",@akosmasoftware Sass book! @hcatlin @nex3 are the brains behind Sass. :-),"Denton, TX",http://wynnnetherland.com
1373
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
1374
1374
  eos
1375
1375
  end
1376
1376
  end
@@ -1518,9 +1518,9 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1518
1518
  it "outputs in CSV format" do
1519
1519
  @cli.leaders
1520
1520
  expect($stdout.string).to eq <<-eos
1521
- ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
1522
- 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland
1523
- 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober
1521
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
1522
+ 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland ⚡,false,"Christian, husband, father, GitHubber, Co-host of @thechangelog, Co-author of Sass, Compass, #CSS book http://wynn.fm/sass-meap",@akosmasoftware Sass book! @hcatlin @nex3 are the brains behind Sass. :-),"Denton, TX",http://wynnnetherland.com
1523
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
1524
1524
  eos
1525
1525
  end
1526
1526
  end
@@ -2342,12 +2342,11 @@ ID 55709764298092545
2342
2342
  Text The problem with your code is that it's doing exactly what you told it to do.
2343
2343
  Screen name @sferik
2344
2344
  Posted at Apr 6 2011 (8 months ago)
2345
- Location Blowfish Sushi To Die For, 2170 Bryant St, San Francisco, California, United States
2346
2345
  Retweets 320
2347
2346
  Favorites 2
2348
2347
  Replies 1
2349
2348
  Source Twitter for iPhone
2350
- URL https://twitter.com/sferik/status/55709764298092545
2349
+ Location Blowfish Sushi To Die For, 2170 Bryant St, San Francisco, California, United States
2351
2350
  eos
2352
2351
  end
2353
2352
  context "--csv" do
@@ -2357,8 +2356,8 @@ URL https://twitter.com/sferik/status/55709764298092545
2357
2356
  it "has the correct output" do
2358
2357
  @cli.status("55709764298092545")
2359
2358
  expect($stdout.string).to eq <<-eos
2360
- ID,Text,Screen name,Posted at,Location,Retweets,Favorites,Replies,Source,URL
2361
- 55709764298092545,The problem with your code is that it's doing exactly what you told it to do.,sferik,2011-04-06 19:13:37 +0000,"Blowfish Sushi To Die For, 2170 Bryant St, San Francisco, California, United States",320,2,1,Twitter for iPhone,https://twitter.com/sferik/status/55709764298092545
2359
+ ID,Posted at,Screen name,Text,Retweets,Favorites,Replies,Source,Location
2360
+ 55709764298092545,2011-04-06 19:13:37 +0000,sferik,The problem with your code is that it's doing exactly what you told it to do.,320,2,1,Twitter for iPhone,"Blowfish Sushi To Die For, 2170 Bryant St, San Francisco, California, United States"
2362
2361
  eos
2363
2362
  end
2364
2363
  end
@@ -2373,12 +2372,11 @@ ID 55709764298092550
2373
2372
  Text The problem with your code is that it's doing exactly what you told it to do.
2374
2373
  Screen name @sferik
2375
2374
  Posted at Apr 6 2011 (8 months ago)
2376
- Location Blowfish Sushi To Die For, San Francisco, California, United States
2377
2375
  Retweets 320
2378
2376
  Favorites 2
2379
2377
  Replies 1
2380
2378
  Source Twitter for iPhone
2381
- URL https://twitter.com/sferik/status/55709764298092550
2379
+ Location Blowfish Sushi To Die For, San Francisco, California, United States
2382
2380
  eos
2383
2381
  end
2384
2382
  end
@@ -2393,12 +2391,11 @@ ID 55709764298092549
2393
2391
  Text The problem with your code is that it's doing exactly what you told it to do.
2394
2392
  Screen name @sferik
2395
2393
  Posted at Apr 6 2011 (8 months ago)
2396
- Location Blowfish Sushi To Die For, San Francisco, California, United States
2397
2394
  Retweets 320
2398
2395
  Favorites 2
2399
2396
  Replies 1
2400
2397
  Source Twitter for iPhone
2401
- URL https://twitter.com/sferik/status/55709764298092549
2398
+ Location Blowfish Sushi To Die For, San Francisco, California, United States
2402
2399
  eos
2403
2400
  end
2404
2401
  end
@@ -2413,12 +2410,11 @@ ID 55709764298092546
2413
2410
  Text The problem with your code is that it's doing exactly what you told it to do.
2414
2411
  Screen name @sferik
2415
2412
  Posted at Apr 6 2011 (8 months ago)
2416
- Location Blowfish Sushi To Die For, San Francisco, United States
2417
2413
  Retweets 320
2418
2414
  Favorites 2
2419
2415
  Replies 1
2420
2416
  Source Twitter for iPhone
2421
- URL https://twitter.com/sferik/status/55709764298092546
2417
+ Location Blowfish Sushi To Die For, San Francisco, United States
2422
2418
  eos
2423
2419
  end
2424
2420
  end
@@ -2433,12 +2429,11 @@ ID 55709764298092547
2433
2429
  Text The problem with your code is that it's doing exactly what you told it to do.
2434
2430
  Screen name @sferik
2435
2431
  Posted at Apr 6 2011 (8 months ago)
2436
- Location Blowfish Sushi To Die For, San Francisco
2437
2432
  Retweets 320
2438
2433
  Favorites 2
2439
2434
  Replies 1
2440
2435
  Source Twitter for iPhone
2441
- URL https://twitter.com/sferik/status/55709764298092547
2436
+ Location Blowfish Sushi To Die For, San Francisco
2442
2437
  eos
2443
2438
  end
2444
2439
  end
@@ -2453,12 +2448,11 @@ ID 55709764298092548
2453
2448
  Text The problem with your code is that it's doing exactly what you told it to do.
2454
2449
  Screen name @sferik
2455
2450
  Posted at Apr 6 2011 (8 months ago)
2456
- Location Blowfish Sushi To Die For
2457
2451
  Retweets 320
2458
2452
  Favorites 2
2459
2453
  Replies 1
2460
2454
  Source Twitter for iPhone
2461
- URL https://twitter.com/sferik/status/55709764298092548
2455
+ Location Blowfish Sushi To Die For
2462
2456
  eos
2463
2457
  end
2464
2458
  end
@@ -2474,12 +2468,11 @@ ID 55709764298092551
2474
2468
  Text The problem with your code is that it's doing exactly what you told it to do.
2475
2469
  Screen name @sferik
2476
2470
  Posted at Apr 6 2011 (8 months ago)
2477
- Location San Francisco, CA, USA
2478
2471
  Retweets 320
2479
2472
  Favorites 2
2480
2473
  Replies 1
2481
2474
  Source Twitter for iPhone
2482
- URL https://twitter.com/sferik/status/55709764298092551
2475
+ Location San Francisco, CA, USA
2483
2476
  eos
2484
2477
  end
2485
2478
  context "with no city" do
@@ -2494,12 +2487,11 @@ ID 55709764298092551
2494
2487
  Text The problem with your code is that it's doing exactly what you told it to do.
2495
2488
  Screen name @sferik
2496
2489
  Posted at Apr 6 2011 (8 months ago)
2497
- Location CA, USA
2498
2490
  Retweets 320
2499
2491
  Favorites 2
2500
2492
  Replies 1
2501
2493
  Source Twitter for iPhone
2502
- URL https://twitter.com/sferik/status/55709764298092551
2494
+ Location CA, USA
2503
2495
  eos
2504
2496
  end
2505
2497
  end
@@ -2515,16 +2507,27 @@ ID 55709764298092551
2515
2507
  Text The problem with your code is that it's doing exactly what you told it to do.
2516
2508
  Screen name @sferik
2517
2509
  Posted at Apr 6 2011 (8 months ago)
2518
- Location USA
2519
2510
  Retweets 320
2520
2511
  Favorites 2
2521
2512
  Replies 1
2522
2513
  Source Twitter for iPhone
2523
- URL https://twitter.com/sferik/status/55709764298092551
2514
+ Location USA
2524
2515
  eos
2525
2516
  end
2526
2517
  end
2527
2518
  end
2519
+ context "--long" do
2520
+ before do
2521
+ @cli.options = @cli.options.merge("long" => true)
2522
+ end
2523
+ it "outputs in long format" do
2524
+ @cli.status("55709764298092545")
2525
+ expect($stdout.string).to eq <<-eos
2526
+ ID Posted at Screen name Text ...
2527
+ 55709764298092545 Apr 6 2011 @sferik The problem with your code is t...
2528
+ eos
2529
+ end
2530
+ end
2528
2531
  end
2529
2532
 
2530
2533
  describe "#timeline" do
@@ -3017,9 +3020,9 @@ WOEID Parent ID Type Name Country
3017
3020
  it "outputs in CSV format" do
3018
3021
  @cli.users("sferik", "pengwynn")
3019
3022
  expect($stdout.string).to eq <<-eos
3020
- ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
3021
- 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland
3022
- 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober
3023
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
3024
+ 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland ⚡,false,"Christian, husband, father, GitHubber, Co-host of @thechangelog, Co-author of Sass, Compass, #CSS book http://wynn.fm/sass-meap",@akosmasoftware Sass book! @hcatlin @nex3 are the brains behind Sass. :-),"Denton, TX",http://wynnnetherland.com
3025
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
3023
3026
  eos
3024
3027
  end
3025
3028
  end
@@ -3148,17 +3151,17 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
3148
3151
  @cli.whois("sferik")
3149
3152
  expect($stdout.string).to eq <<-eos
3150
3153
  ID 7505382
3151
- Name Erik Michaels-Ober
3152
- Bio Vagabond.
3153
- Location San Francisco
3154
- Status Not following
3155
- Last update @goldman You're near my home town! Say hi to Woodstock for me. (7 months ago)
3156
3154
  Since Jul 16 2007 (4 years ago)
3155
+ Last update @goldman You're near my home town! Say hi to Woodstock for me. (7 months ago)
3156
+ Screen name @sferik
3157
+ Name Erik Michaels-Ober
3157
3158
  Tweets 7,890
3158
3159
  Favorites 3,755
3159
3160
  Listed 118
3160
3161
  Following 212
3161
3162
  Followers 2,262
3163
+ Bio Vagabond.
3164
+ Location San Francisco
3162
3165
  URL https://github.com/sferik
3163
3166
  eos
3164
3167
  end
@@ -3169,8 +3172,8 @@ URL https://github.com/sferik
3169
3172
  it "has the correct output" do
3170
3173
  @cli.whois("sferik")
3171
3174
  expect($stdout.string).to eq <<-eos
3172
- ID,Verified,Name,Screen name,Bio,Location,Following,Last update,Lasted updated at,Since,Tweets,Favorites,Listed,Following,Followers,URL
3173
- 7505382,false,Erik Michaels-Ober,sferik,Vagabond.,San Francisco,false,@goldman You're near my home town! Say hi to Woodstock for me.,2012-07-08 18:29:20 +0000,2007-07-16 12:59:01 +0000,7890,3755,118,212,2262,https://github.com/sferik
3175
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
3176
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
3174
3177
  eos
3175
3178
  end
3176
3179
  end
@@ -3184,6 +3187,18 @@ ID,Verified,Name,Screen name,Bio,Location,Following,Last update,Lasted updated a
3184
3187
  expect(a_get("/1.1/users/show.json").with(:query => {:user_id => "7505382"})).to have_been_made
3185
3188
  end
3186
3189
  end
3190
+ context "--long" do
3191
+ before do
3192
+ @cli.options = @cli.options.merge("long" => true)
3193
+ end
3194
+ it "outputs in long format" do
3195
+ @cli.whois("sferik")
3196
+ expect($stdout.string).to eq <<-eos
3197
+ ID Since Last tweeted at Tweets Favorites Listed Following ...
3198
+ 7505382 Jul 16 2007 Jul 8 10:29 7890 3755 118 212 ...
3199
+ eos
3200
+ end
3201
+ end
3187
3202
  end
3188
3203
 
3189
3204
  end
@@ -153,9 +153,9 @@ ID,Description,Slug,Screen name,Created at,Members,Subscribers,Following,Mode,UR
153
153
  it "outputs in CSV format" do
154
154
  @list.members("presidents")
155
155
  expect($stdout.string).to eq <<-eos
156
- ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
157
- 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland
158
- 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober
156
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
157
+ 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland ⚡,false,"Christian, husband, father, GitHubber, Co-host of @thechangelog, Co-author of Sass, Compass, #CSS book http://wynn.fm/sass-meap",@akosmasoftware Sass book! @hcatlin @nex3 are the brains behind Sass. :-),"Denton, TX",http://wynnnetherland.com
158
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
159
159
  eos
160
160
  end
161
161
  end
@@ -1279,9 +1279,9 @@ ID Posted at Screen name Text
1279
1279
  it "outputs in CSV format" do
1280
1280
  @search.users("Erik")
1281
1281
  expect($stdout.string).to eq <<-eos
1282
- ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
1283
- 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland
1284
- 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober
1282
+ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name,Verified,Bio,Status,Location,URL
1283
+ 14100886,2008-03-08 16:34:22 +0000,2012-07-07 20:33:19 +0000,6940,192,358,3427,5457,pengwynn,Wynn Netherland ⚡,false,"Christian, husband, father, GitHubber, Co-host of @thechangelog, Co-author of Sass, Compass, #CSS book http://wynn.fm/sass-meap",@akosmasoftware Sass book! @hcatlin @nex3 are the brains behind Sass. :-),"Denton, TX",http://wynnnetherland.com
1284
+ 7505382,2007-07-16 12:59:01 +0000,2012-07-08 18:29:20 +0000,7890,3755,118,212,2262,sferik,Erik Michaels-Ober,false,Vagabond.,@goldman You're near my home town! Say hi to Woodstock for me.,San Francisco,https://github.com/sferik
1285
1285
  eos
1286
1286
  end
1287
1287
  end
data/t.gemspec CHANGED
@@ -13,12 +13,8 @@ Gem::Specification.new do |spec|
13
13
  spec.add_dependency 'tweetstream', '~> 2.3'
14
14
  spec.add_dependency 'twitter', '~> 4.4'
15
15
  spec.add_development_dependency 'pry'
16
- spec.add_development_dependency 'pry-nav'
17
- spec.add_development_dependency 'rake'
18
- spec.add_development_dependency 'rspec'
16
+ spec.add_development_dependency 'pry-debugger'
19
17
  spec.add_development_dependency 'simplecov'
20
- spec.add_development_dependency 'timecop'
21
- spec.add_development_dependency 'webmock'
22
18
  spec.author = "Erik Michaels-Ober"
23
19
  spec.bindir = 'bin'
24
20
  spec.description = %q{A command-line power tool for Twitter.}
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: t
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.5.1
5
+ version: 1.6.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Erik Michaels-Ober
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-08 00:00:00.000000000 Z
12
+ date: 2012-12-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  version_requirements: !ruby/object:Gem::Requirement
@@ -200,39 +200,7 @@ dependencies:
200
200
  - !ruby/object:Gem::Version
201
201
  version: '0'
202
202
  none: false
203
- name: pry-nav
204
- type: :development
205
- prerelease: false
206
- requirement: !ruby/object:Gem::Requirement
207
- requirements:
208
- - - ! '>='
209
- - !ruby/object:Gem::Version
210
- version: '0'
211
- none: false
212
- - !ruby/object:Gem::Dependency
213
- version_requirements: !ruby/object:Gem::Requirement
214
- requirements:
215
- - - ! '>='
216
- - !ruby/object:Gem::Version
217
- version: '0'
218
- none: false
219
- name: rake
220
- type: :development
221
- prerelease: false
222
- requirement: !ruby/object:Gem::Requirement
223
- requirements:
224
- - - ! '>='
225
- - !ruby/object:Gem::Version
226
- version: '0'
227
- none: false
228
- - !ruby/object:Gem::Dependency
229
- version_requirements: !ruby/object:Gem::Requirement
230
- requirements:
231
- - - ! '>='
232
- - !ruby/object:Gem::Version
233
- version: '0'
234
- none: false
235
- name: rspec
203
+ name: pry-debugger
236
204
  type: :development
237
205
  prerelease: false
238
206
  requirement: !ruby/object:Gem::Requirement
@@ -257,38 +225,6 @@ dependencies:
257
225
  - !ruby/object:Gem::Version
258
226
  version: '0'
259
227
  none: false
260
- - !ruby/object:Gem::Dependency
261
- version_requirements: !ruby/object:Gem::Requirement
262
- requirements:
263
- - - ! '>='
264
- - !ruby/object:Gem::Version
265
- version: '0'
266
- none: false
267
- name: timecop
268
- type: :development
269
- prerelease: false
270
- requirement: !ruby/object:Gem::Requirement
271
- requirements:
272
- - - ! '>='
273
- - !ruby/object:Gem::Version
274
- version: '0'
275
- none: false
276
- - !ruby/object:Gem::Dependency
277
- version_requirements: !ruby/object:Gem::Requirement
278
- requirements:
279
- - - ! '>='
280
- - !ruby/object:Gem::Version
281
- version: '0'
282
- none: false
283
- name: webmock
284
- type: :development
285
- prerelease: false
286
- requirement: !ruby/object:Gem::Requirement
287
- requirements:
288
- - - ! '>='
289
- - !ruby/object:Gem::Version
290
- version: '0'
291
- none: false
292
228
  description: A command-line power tool for Twitter.
293
229
  email: sferik@gmail.com
294
230
  executables: