Sha256: 65e54d7495fb213ce28cbfe9203c0a46ba8de2934822dbdd0d486fc0b74a8355
Contents?: true
Size: 1.91 KB
Versions: 1
Compression:
Stored size: 1.91 KB
Contents
require 'action_view' require 'pager' require 't/rcfile' require 't/requestable' require 'thor' module T class CLI class List < Thor include ActionView::Helpers::DateHelper include Pager include T::Requestable DEFAULT_NUM_RESULTS = 20 MAX_SCREEN_NAME_SIZE = 20 check_unknown_options! def initialize(*) super @rcfile = RCFile.instance end desc "create LIST_NAME [DESCRIPTION]", "Create a new list." method_option :private, :aliases => "-p", :type => :boolean def create(list_name, description="") defaults = description.blank? ? {} : {:description => description} defaults.merge!(:mode => 'private') if options['private'] client.list_create(list_name, defaults) say "@#{@rcfile.default_profile[0]} created the list \"#{list_name}\"." end desc "timeline LIST_NAME", "Show tweet timeline for members of the specified list." method_option :number, :aliases => "-n", :type => :numeric, :default => DEFAULT_NUM_RESULTS method_option :reverse, :aliases => "-r", :type => :boolean, :default => false def timeline(list_name) defaults = {:include_entities => false} defaults.merge!(:per_page => options['number']) if options['number'] timeline = client.list_timeline(list_name, defaults) timeline.reverse! if options['reverse'] page unless T.env.test? timeline.each do |status| say "#{status.user.screen_name.rjust(MAX_SCREEN_NAME_SIZE)}: #{status.text} (#{time_ago_in_words(status.created_at)} ago)" end end map %w(tl) => :timeline desc "add SUBCOMMAND ...ARGS", "Add users to a list." require 't/cli/list/add' subcommand 'add', CLI::List::Add desc "remove SUBCOMMAND ...ARGS", "Remove users from a list." require 't/cli/list/remove' subcommand 'remove', CLI::List::Remove end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
t-0.4.0 | lib/t/cli/list.rb |