Sha256: b56fc3c2a3daa8a79ffdc3191b2b6cefd95b7488bb0bcce0971696bce2f9ed1b
Contents?: true
Size: 1.62 KB
Versions: 2
Compression:
Stored size: 1.62 KB
Contents
module Stars class Client def self.load!(new_username=nil) remember_username(new_username) if new_username @recent = Stars::Favstar.new.recent(username) display end def self.display system 'clear' puts "\n ★ by @#{username}" puts Stars::Formatter.new(@recent) select_star end def self.username File.exists?(config_path) ? File.read(config_path) : prompt_for_username end def self.prompt_for_username puts "" puts "" puts " ★ stars." puts "" puts "Type your Twitter username:" remember_username(gets.chomp) end def self.remember_username(username) File.open(config_path, 'w') {|f| f.write(username) } username end def self.config_path File.join(ENV['HOME'], '.stars') end def self.select_star selection = '' while true puts "Type the number of the toot that you want to learn about" puts " (or hit return to view all again, you ego-maniac) >>" selection = gets.chomp break if ['','q','quit','exit','fuckthis'].include?(selection.downcase) show_selection(selection) end display if selection == '' end def self.show_selection(id) puts '' puts wrap_text(' ' + @recent[id.to_i - 1]['title'], 60) puts parse_who(@recent[id.to_i - 1]['guid']) puts '' end def self.parse_who(url) Stars::Favstar.new.show(url) end def self.wrap_text(txt, col = 80) txt.gsub(/(.{1,#{col}})( +|$\n?)|(.{1,#{col}})/, "\\1\\3\n ") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stars-0.2.1 | lib/stars/client.rb |
stars-0.2.0 | lib/stars/client.rb |