lib/t/search.rb in t-2.0.1 vs lib/t/search.rb in t-2.0.2

- old
+ new

@@ -21,15 +21,15 @@ def initialize(*) @rcfile = T::RCFile.instance super end - desc "all QUERY", "Returns the #{DEFAULT_NUM_RESULTS} most recent Tweets that match the specified query." - method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format." - method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format." - method_option "decode_uris", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form." - method_option "number", :aliases => "-n", :type => :numeric, :default => DEFAULT_NUM_RESULTS + desc 'all QUERY', "Returns the #{DEFAULT_NUM_RESULTS} most recent Tweets that match the specified query." + method_option 'csv', :aliases => '-c', :type => :boolean, :default => false, :desc => 'Output in CSV format.' + method_option 'long', :aliases => '-l', :type => :boolean, :default => false, :desc => 'Output in long format.' + method_option 'decode_uris', :aliases => '-d', :type => :boolean, :default => false, :desc => 'Decodes t.co URLs into their original form.' + method_option 'number', :aliases => '-n', :type => :numeric, :default => DEFAULT_NUM_RESULTS def all(query) count = options['number'] || DEFAULT_NUM_RESULTS tweets = collect_with_count(count) do |count_opts| count_opts[:include_entities] = 1 if options['decode_uris'] client.search(query, count_opts).to_a @@ -44,37 +44,33 @@ end elsif options['long'] array = tweets.map do |tweet| [tweet.id, ls_formatted_time(tweet), "@#{tweet.user.screen_name}", decode_full_text(tweet, options['decode_uris']).gsub(/\n+/, ' ')] end - format = options['format'] || TWEET_HEADINGS.size.times.map{"%s"} + format = options['format'] || TWEET_HEADINGS.size.times.map { '%s' } print_table_with_headings(array, TWEET_HEADINGS, format) else say unless tweets.empty? tweets.each do |tweet| print_message(tweet.user.screen_name, decode_full_text(tweet, options['decode_uris'])) end end end - desc "favorites [USER] QUERY", "Returns Tweets you've favorited that match the specified query." - method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format." - method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name." - method_option "decode_uris", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form." - method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format." + desc 'favorites [USER] QUERY', "Returns Tweets you've favorited that match the specified query." + method_option 'csv', :aliases => '-c', :type => :boolean, :default => false, :desc => 'Output in CSV format.' + method_option 'id', :aliases => '-i', :type => :boolean, :default => false, :desc => 'Specify user via ID instead of screen name.' + method_option 'decode_uris', :aliases => '-d', :type => :boolean, :default => false, :desc => 'Decodes t.co URLs into their original form.' + method_option 'long', :aliases => '-l', :type => :boolean, :default => false, :desc => 'Output in long format.' def favorites(*args) opts = {:count => MAX_NUM_RESULTS} query = args.pop user = args.pop opts[:include_entities] = 1 if options['decode_uris'] if user require 't/core_ext/string' - user = if options['id'] - user.to_i - else - user.strip_ats - end + user = options['id'] ? user.to_i : user.strip_ats tweets = collect_with_max_id do |max_id| opts[:max_id] = max_id unless max_id.nil? client.favorites(user, opts) end else @@ -88,15 +84,15 @@ end print_tweets(tweets) end map %w(faves) => :favorites - desc "list [USER/]LIST QUERY", "Returns Tweets on a list that match specified query." - method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format." - method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name." - method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format." - method_option "decode_uris", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form." + desc 'list [USER/]LIST QUERY', 'Returns Tweets on a list that match the specified query.' + method_option 'csv', :aliases => '-c', :type => :boolean, :default => false, :desc => 'Output in CSV format.' + method_option 'id', :aliases => '-i', :type => :boolean, :default => false, :desc => 'Specify user via ID instead of screen name.' + method_option 'long', :aliases => '-l', :type => :boolean, :default => false, :desc => 'Output in long format.' + method_option 'decode_uris', :aliases => '-d', :type => :boolean, :default => false, :desc => 'Decodes t.co URLs into their original form.' def list(list, query) owner, list = extract_owner(list, options) opts = {:count => MAX_NUM_RESULTS} opts[:include_entities] = 1 if options['decode_uris'] tweets = collect_with_max_id do |max_id| @@ -107,14 +103,14 @@ /#{query}/i.match(tweet.full_text) end print_tweets(tweets) end - desc "mentions QUERY", "Returns Tweets mentioning you that match the specified query." - method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format." - method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format." - method_option "decode_uris", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form." + desc 'mentions QUERY', 'Returns Tweets mentioning you that match the specified query.' + method_option 'csv', :aliases => '-c', :type => :boolean, :default => false, :desc => 'Output in CSV format.' + method_option 'long', :aliases => '-l', :type => :boolean, :default => false, :desc => 'Output in long format.' + method_option 'decode_uris', :aliases => '-d', :type => :boolean, :default => false, :desc => 'Decodes t.co URLs into their original form.' def mentions(query) opts = {:count => MAX_NUM_RESULTS} opts[:include_entities] = 1 if options['decode_uris'] tweets = collect_with_max_id do |max_id| opts[:max_id] = max_id unless max_id.nil? @@ -125,27 +121,23 @@ end print_tweets(tweets) end map %w(replies) => :mentions - desc "retweets [USER] QUERY", "Returns Tweets you've retweeted that match the specified query." - method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format." - method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name." - method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format." - method_option "decode_uris", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form." + desc 'retweets [USER] QUERY', "Returns Tweets you've retweeted that match the specified query." + method_option 'csv', :aliases => '-c', :type => :boolean, :default => false, :desc => 'Output in CSV format.' + method_option 'id', :aliases => '-i', :type => :boolean, :default => false, :desc => 'Specify user via ID instead of screen name.' + method_option 'long', :aliases => '-l', :type => :boolean, :default => false, :desc => 'Output in long format.' + method_option 'decode_uris', :aliases => '-d', :type => :boolean, :default => false, :desc => 'Decodes t.co URLs into their original form.' def retweets(*args) opts = {:count => MAX_NUM_RESULTS} query = args.pop user = args.pop opts[:include_entities] = 1 if options['decode_uris'] if user require 't/core_ext/string' - user = if options['id'] - user.to_i - else - user.strip_ats - end + user = options['id'] ? user.to_i : user.strip_ats tweets = collect_with_max_id do |max_id| opts[:max_id] = max_id unless max_id.nil? client.retweeted_by_user(user, opts) end else @@ -159,18 +151,18 @@ end print_tweets(tweets) end map %w(rts) => :retweets - desc "timeline [USER] QUERY", "Returns Tweets in your timeline that match the specified query." - method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format." - method_option "decode_uris", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form." - method_option "exclude", :aliases => "-e", :type => :string, :enum => %w(replies retweets), :desc => "Exclude certain types of Tweets from the results.", :banner => "TYPE" - method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name." - method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format." - method_option "max_id", :aliases => "-m", :type => :numeric, :desc => "Returns only the results with an ID less than the specified ID." - method_option "since_id", :aliases => "-s", :type => :numeric, :desc => "Returns only the results with an ID greater than the specified ID." + desc 'timeline [USER] QUERY', 'Returns Tweets in your timeline that match the specified query.' + method_option 'csv', :aliases => '-c', :type => :boolean, :default => false, :desc => 'Output in CSV format.' + method_option 'decode_uris', :aliases => '-d', :type => :boolean, :default => false, :desc => 'Decodes t.co URLs into their original form.' + method_option 'exclude', :aliases => '-e', :type => :string, :enum => %w(replies retweets), :desc => 'Exclude certain types of Tweets from the results.', :banner => 'TYPE' + method_option 'id', :aliases => '-i', :type => :boolean, :default => false, :desc => 'Specify user via ID instead of screen name.' + method_option 'long', :aliases => '-l', :type => :boolean, :default => false, :desc => 'Output in long format.' + method_option 'max_id', :aliases => '-m', :type => :numeric, :desc => 'Returns only the results with an ID less than the specified ID.' + method_option 'since_id', :aliases => '-s', :type => :numeric, :desc => 'Returns only the results with an ID greater than the specified ID.' def timeline(*args) query = args.pop user = args.pop opts = {:count => MAX_NUM_RESULTS} opts[:include_entities] = 1 if options['decode_uris'] @@ -178,15 +170,11 @@ opts[:include_rts] = false if options['exclude'] == 'retweets' opts[:max_id] = options['max_id'] if options['max_id'] opts[:since_id] = options['since_id'] if options['since_id'] if user require 't/core_ext/string' - user = if options['id'] - user.to_i - else - user.strip_ats - end + user = options['id'] ? user.to_i : user.strip_ats tweets = collect_with_max_id do |max_id| opts[:max_id] = max_id unless max_id.nil? client.user_timeline(user, opts) end else @@ -200,20 +188,19 @@ end print_tweets(tweets) end map %w(tl) => :timeline - desc "users QUERY", "Returns users that match the specified query." - method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format." - method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format." - method_option "reverse", :aliases => "-r", :type => :boolean, :default => false, :desc => "Reverse the order of the sort." - method_option "sort", :aliases => "-s", :type => :string, :enum => %w(favorites followers friends listed screen_name since tweets tweeted), :default => "screen_name", :desc => "Specify the order of the results.", :banner => "ORDER" - method_option "unsorted", :aliases => "-u", :type => :boolean, :default => false, :desc => "Output is not sorted." + desc 'users QUERY', 'Returns users that match the specified query.' + method_option 'csv', :aliases => '-c', :type => :boolean, :default => false, :desc => 'Output in CSV format.' + method_option 'long', :aliases => '-l', :type => :boolean, :default => false, :desc => 'Output in long format.' + method_option 'reverse', :aliases => '-r', :type => :boolean, :default => false, :desc => 'Reverse the order of the sort.' + method_option 'sort', :aliases => '-s', :type => :string, :enum => %w(favorites followers friends listed screen_name since tweets tweeted), :default => 'screen_name', :desc => 'Specify the order of the results.', :banner => 'ORDER' + method_option 'unsorted', :aliases => '-u', :type => :boolean, :default => false, :desc => 'Output is not sorted.' def users(query) users = collect_with_page do |page| client.user_search(query, :page => page) end print_users(users) end - end end