Class: GH::Summarizer

Inherits:
Object
  • Object
show all
Defined in:
lib/github_summarizer.rb

Instance Method Summary collapse

Instance Method Details

#summarizeObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/github_summarizer.rb', line 7

def summarize
  username = ARGV[0]
  github = Github.new user: username
  repos = github.repos.list

  star = "\u2605"

  max_name_len = max_star_len = max_lang_len = 0
  repos.each { |repo| 
    max_name_len = repo['name'].length if repo['name'].length > max_name_len 
    max_star_len = repo['stargazers_count'].to_s.length if repo['stargazers_count'].to_s.length > max_star_len
    if repo['language']
      max_lang_len = repo['language'].length if repo['language'].length > max_lang_len
    end
  }



  user = github.users.get user: username
  puts "#{user['name'].red} (#{user['login'].red})"
  puts "Following: #{user['following']}, Followers: #{user['followers']}"
  puts "\n"
  format="#{star.encode('utf-8').yellow} %-#{max_star_len}s\t%-#{max_name_len}s\t%-#{max_lang_len}s\n"
  repos.each { |repo|
    printf(format, repo['stargazers_count'].to_s.yellow, repo['name'], repo['language'].to_s.blue)
  }
end