Skip to content

Commit

Permalink
Add pluralize helper from ActionView::Helpers::TextHelper
Browse files Browse the repository at this point in the history
  • Loading branch information
sferik committed Aug 14, 2012
1 parent 73b8c52 commit 5d9f30b
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 9 deletions.
12 changes: 6 additions & 6 deletions lib/t/cli.rb
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ def block(user, *users)
users, number = fetch_users(users.unshift(user), options) do |users|
client.block(users)
end
say "@#{@rcfile.active_profile[0]} blocked #{number} #{number == 1 ? 'user' : 'users'}."
say "@#{@rcfile.active_profile[0]} blocked #{pluralize(number, 'user')}."
say
say "Run `#{File.basename($0)} delete block #{users.map{|user| "@#{user.screen_name}"}.join(' ')}` to unblock."
end
Expand Down Expand Up @@ -297,7 +297,7 @@ def favorite(status_id, *status_ids)
client.favorite(status_ids)
end
number = favorites.length
say "@#{@rcfile.active_profile[0]} favorited #{number} #{number == 1 ? 'tweet' : 'tweets'}."
say "@#{@rcfile.active_profile[0]} favorited #{pluralize(number, 'tweet')}."
say
say "Run `#{File.basename($0)} delete favorite #{status_ids.join(' ')}` to unfavorite."
end
Expand Down Expand Up @@ -332,7 +332,7 @@ def follow(user, *users)
users, number = fetch_users(users.unshift(user), options) do |users|
client.follow(users)
end
say "@#{@rcfile.active_profile[0]} is now following #{number} more #{number == 1 ? 'user' : 'users'}."
say "@#{@rcfile.active_profile[0]} is now following #{pluralize(number, 'more user')}."
say
say "Run `#{File.basename($0)} unfollow #{users.map{|user| "@#{user.screen_name}"}.join(' ')}` to stop."
end
Expand Down Expand Up @@ -561,7 +561,7 @@ def report_spam(user, *users)
users, number = fetch_users(users.unshift(user), options) do |users|
client.report_spam(users)
end
say "@#{@rcfile.active_profile[0]} reported #{number} #{number == 1 ? 'user' : 'users'}."
say "@#{@rcfile.active_profile[0]} reported #{pluralize(number, 'user')}."
end
map %w(report reportspam spam) => :report_spam

Expand All @@ -574,7 +574,7 @@ def retweet(status_id, *status_ids)
client.retweet(status_ids, :trim_user => true)
end
number = retweets.length
say "@#{@rcfile.active_profile[0]} retweeted #{number} #{number == 1 ? 'tweet' : 'tweets'}."
say "@#{@rcfile.active_profile[0]} retweeted #{pluralize(number, 'tweet')}."
say
say "Run `#{File.basename($0)} delete status #{retweets.map(&:id).join(' ')}` to undo."
end
Expand Down Expand Up @@ -745,7 +745,7 @@ def unfollow(user, *users)
users, number = fetch_users(users.unshift(user), options) do |users|
client.unfollow(users)
end
say "@#{@rcfile.active_profile[0]} is no longer following #{number} #{number == 1 ? 'user' : 'users'}."
say "@#{@rcfile.active_profile[0]} is no longer following #{pluralize(number, 'user')}."
say
say "Run `#{File.basename($0)} follow #{users.map{|user| "@#{user.screen_name}"}.join(' ')}` to follow again."
end
Expand Down
2 changes: 1 addition & 1 deletion lib/t/delete.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def block(user, *users)
users, number = fetch_users(users.unshift(user), options) do |users|
client.unblock(users)
end
say "@#{@rcfile.active_profile[0]} unblocked #{number} #{number == 1 ? 'user' : 'users'}."
say "@#{@rcfile.active_profile[0]} unblocked #{pluralize(number, 'user')}."
say
say "Run `#{File.basename($0)} block #{users.map{|user| "@#{user.screen_name}"}.join(' ')}` to block."
end
Expand Down
4 changes: 2 additions & 2 deletions lib/t/list.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def add(list, user, *users)
client.list_add_members(list, users)
users
end
say "@#{@rcfile.active_profile[0]} added #{number} #{number == 1 ? 'member' : 'members'} to the list \"#{list}\"."
say "@#{@rcfile.active_profile[0]} added #{pluralize(number, 'member')} to the list \"#{list}\"."
say
if options['id']
say "Run `#{File.basename($0)} list remove --id #{list} #{users.join(' ')}` to undo."
Expand Down Expand Up @@ -98,7 +98,7 @@ def remove(list, user, *users)
client.list_remove_members(list, users)
users
end
say "@#{@rcfile.active_profile[0]} removed #{number} #{number == 1 ? 'member' : 'members'} from the list \"#{list}\"."
say "@#{@rcfile.active_profile[0]} removed #{pluralize(number, 'member')} from the list \"#{list}\"."
say
if options['id']
say "Run `#{File.basename($0)} list add --id #{list} #{users.join(' ')}` to undo."
Expand Down
4 changes: 4 additions & 0 deletions lib/t/utils.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,5 +91,9 @@ def number_with_delimiter(number, delimiter=",")
groups.join(delimiter).reverse
end

def pluralize(count, singular, plural=nil)
"#{count || 0} " + ((count == 1 || count =~ /^1(\.0+)?$/) ? singular : (plural || "#{singular}s"))
end

end
end

0 comments on commit 5d9f30b

Please sign in to comment.