lib/twitter/cli/helpers.rb in jnunemaker-twitter-0.2.8 vs lib/twitter/cli/helpers.rb in jnunemaker-twitter-0.3.1

- old
+ new

@@ -1,7 +1,32 @@ module Twitter module CLI module Helpers + def output_tweets(collection, options={}) + options.reverse_merge!({ + :cache => false, + :since_prefix => '', + :empty_msg => 'Nothing new since your last check.' + }) + if collection.size > 0 + justify = collection.collect { |s| s.user.screen_name }.max { |a,b| a.length <=> b.length }.length rescue 0 + indention = ' ' * (justify + 3) + say("\n#{indention}#{collection.size} new tweet(s) found.\n\n") + collection.each do |s| + Tweet.create_from_tweet(current_account, s) if options[:cache] + occurred_at = Time.parse(s.created_at).strftime('On %b %d at %l:%M%P') + formatted_time = '-' * occurred_at.length + "\n#{indention}#{occurred_at}" + formatted_name = s.user.screen_name.rjust(justify + 1) + formatted_msg = '' + s.text.split(' ').in_groups_of(6, false) { |row| formatted_msg += row.join(' ') + "\n#{indention}" } + say "#{CGI::unescapeHTML(formatted_name)}: #{CGI::unescapeHTML(formatted_msg)}#{formatted_time}\n\n" + end + Configuration["#{options[:since_prefix]}_since_id"] = collection.first.id + else + say(options[:empty_msg]) + end + end + def base(username=current_account.username, password=current_account.password) @base ||= Twitter::Base.new(username, password) end def current_account \ No newline at end of file