Skip to content

Commit

Permalink
Delimit lists from owners with slash (instead of separate arguments)
Browse files Browse the repository at this point in the history
  • Loading branch information
sferik committed Apr 26, 2012
1 parent bc3a91c commit 8e6669d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 16 deletions.
22 changes: 12 additions & 10 deletions lib/t/list.rb
Expand Up @@ -54,7 +54,7 @@ def create(list_name, description="")
say "@#{@rcfile.default_profile[0]} created the list \"#{list_name}\"."
end

desc "members [SCREEN_NAME] LIST_NAME", "Returns the members of a Twitter list."
desc "members [SCREEN_NAME/]LIST_NAME", "Returns the members of a Twitter list."
method_option :created, :aliases => "-c", :type => :boolean, :default => false, :desc => "Sort by the time when Twitter acount was created."
method_option :favorites, :aliases => "-v", :type => :boolean, :default => false, :desc => "Sort by total number of favorites."
method_option :followers, :aliases => "-f", :type => :boolean, :default => false, :desc => "Sort by total number of followers."
Expand All @@ -65,13 +65,14 @@ def create(list_name, description="")
method_option :reverse, :aliases => "-r", :type => :boolean, :default => false, :desc => "Reverse the order of the sort."
method_option :tweets, :aliases => "-t", :type => :boolean, :default => false, :desc => "Sort by total number of Tweets."
method_option :unsorted, :aliases => "-u", :type => :boolean, :default => false, :desc => "Output is not sorted."
def members(*args)
list = args.pop
owner = args.pop || @rcfile.default_profile[0]
def members(list)
list = list.split('/')
list_name = list.pop
owner = list.pop || @rcfile.default_profile[0]
owner = owner.strip_ats
owner = owner.to_i if options['id']
users = collect_with_cursor do |cursor|
client.list_members(owner, list, :cursor => cursor, :include_entities => false, :skip_status => true)
client.list_members(owner, list_name, :cursor => cursor, :include_entities => false, :skip_status => true)
end
print_user_list(users)
end
Expand All @@ -93,18 +94,19 @@ def remove(list_name, screen_name, *screen_names)
say "Run `#{File.basename($0)} list add #{list_name} #{screen_names.join(' ')}` to undo."
end

desc "timeline [SCREEN_NAME] LIST_NAME", "Show tweet timeline for members of the specified list."
desc "timeline [SCREEN_NAME/]LIST_NAME", "Show tweet timeline for members of the specified list."
method_option :id, :aliases => "-i", :type => "boolean", :default => false, :desc => "Specify input as a Twitter user ID instead of a screen name."
method_option :long, :aliases => "-l", :type => :boolean, :default => false, :desc => "List in long format."
method_option :number, :aliases => "-n", :type => :numeric, :default => DEFAULT_NUM_RESULTS, :desc => "Limit the number of results."
method_option :reverse, :aliases => "-r", :type => :boolean, :default => false, :desc => "Reverse the order of the sort."
def timeline(*args)
list = args.pop
owner = args.pop || @rcfile.default_profile[0]
def timeline(list)
list = list.split('/')
list_name = list.pop
owner = list.pop || @rcfile.default_profile[0]
owner = owner.strip_ats
owner = owner.to_i if options['id']
per_page = options['number'] || DEFAULT_NUM_RESULTS
statuses = client.list_timeline(owner, list, :include_entities => false, :per_page => per_page)
statuses = client.list_timeline(owner, list_name, :include_entities => false, :per_page => per_page)
print_status_list(statuses)
end
map %w(tl) => :timeline
Expand Down
12 changes: 6 additions & 6 deletions spec/list_spec.rb
Expand Up @@ -199,13 +199,13 @@
to_return(:body => fixture("users_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
end
it "should request the correct resource" do
@list.members("sferik", "presidents")
@list.members("sferik/presidents")
a_get("/1/lists/members.json").
with(:query => {:cursor => "-1", :include_entities => "false", :owner_screen_name => "sferik", :skip_status => "true", :slug => "presidents"}).
should have_been_made
end
it "should have the correct output" do
@list.members("sferik", "presidents")
@list.members("sferik/presidents")
$stdout.string.rstrip.should == "@pengwynn @sferik"
end
context "--id" do
Expand All @@ -216,7 +216,7 @@
to_return(:body => fixture("users_list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
end
it "should request the correct resource" do
@list.members("7505382", "presidents")
@list.members("7505382/presidents")
a_get("/1/lists/members.json").
with(:query => {:cursor => "-1", :include_entities => "false", :owner_id => "7505382", :skip_status => "true", :slug => "presidents"}).
should have_been_made
Expand Down Expand Up @@ -390,13 +390,13 @@
to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
end
it "should request the correct resource" do
@list.timeline("sferik", "presidents")
@list.timeline("sferik/presidents")
a_get("/1/lists/statuses.json").
with(:query => {:owner_screen_name => "sferik", :per_page => "20", :slug => "presidents", :include_entities => "false"}).
should have_been_made
end
it "should have the correct output" do
@list.timeline("sferik", "presidents")
@list.timeline("sferik/presidents")
$stdout.string.should == <<-eos
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. (7 months ago)
TD: @kelseysilver how long will you be in town? (7 months ago)
Expand Down Expand Up @@ -425,7 +425,7 @@
to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
end
it "should request the correct resource" do
@list.timeline("7505382", "presidents")
@list.timeline("7505382/presidents")
a_get("/1/lists/statuses.json").
with(:query => {:owner_id => "7505382", :per_page => "20", :slug => "presidents", :include_entities => "false"}).
should have_been_made
Expand Down

0 comments on commit 8e6669d

Please sign in to comment.