lib/t/search.rb in t-1.6.0 vs lib/t/search.rb in t-1.7.0

- old
+ new

@@ -33,13 +33,13 @@ method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format." method_option "decode_urls", :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 |opts| - opts[:include_entities] = 1 if options['decode_urls'] - client.search(query, opts).results + tweets = collect_with_count(count) do |count_opts| + count_opts[:include_entities] = 1 if options['decode_urls'] + client.search(query, count_opts).results end tweets.reverse! if options['reverse'] require 'htmlentities' if options['csv'] require 'csv' @@ -167,41 +167,37 @@ 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_urls", :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 "decode_urls", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form." + method_option "since_id", :aliases => "-s", :type => :numeric, :desc => "Returns only the results with an ID greater than the specified ID." def timeline(*args) - opts = {:count => MAX_NUM_RESULTS} query = args.pop user = args.pop + opts = {:count => MAX_NUM_RESULTS} opts[:include_entities] = 1 if options['decode_urls'] - exclude_opts = case options['exclude'] - when 'replies' - {:exclude_replies => true} - when 'retweets' - {:include_rts => false} - else - {} - end + opts[:exclude_replies] = true if options['exclude'] == 'replies' + opts[:include_rts] = false if options['exclude'] == 'retweets' + 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 tweets = collect_with_max_id do |max_id| opts[:max_id] = max_id unless max_id.nil? - client.user_timeline(user, opts.merge(exclude_opts)) + client.user_timeline(user, opts) end else tweets = collect_with_max_id do |max_id| opts[:max_id] = max_id unless max_id.nil? - client.home_timeline(opts.merge(exclude_opts)) + client.home_timeline(opts) end end tweets = tweets.select do |tweet| /#{query}/i.match(tweet.full_text) end