Sha256: 507f5f20d20e8bb5b4b7045424bb1e04aba017990bfede92a714ef8e12f8c077
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
#! /usr/bin/env ruby require_relative "../lib/open_source_stats" require 'active_support/core_ext/string/inflections' require 'terminal-table' oss = OpenSourceStats.new def pretty_print_hash(hash) rows = [] hash.each { |key, value| rows << [key.to_s.humanize, value] } table = Terminal::Table.new(:rows => rows, :style => { :border_i => "|" }, :headings => ["Metric", "Count"]).to_s puts table.split("\n")[1...-1].join("\n") + "\n\n" end puts "# Open source actvity for the 24-hour period begining at #{OpenSourceStats.start_time.strftime("%l:%S %p %Z on %B %-d, %Y")}\n\n" puts "## Overall\n\n" pretty_print_hash oss.stats puts "## By organization\n\n" oss.orgs.each do |org| puts "### #{org.name.humanize}\n\n" pretty_print_hash oss.stats(org.events) end puts "## Top users\n\n" users = oss.users.reject { |u| u.login == "hubot" }.sort_by { |u| u.events.count }.reverse[0...10] users.each_with_index do |user, index| puts "### #{index+1}. @#{user.login}\n\n" pretty_print_hash oss.stats(user.events) end puts "## Most active repositories\n\n" repos = oss.events.group_by { |e| e.repo }.map { |k,v| { k => v.count } }.sort_by { |r| r.values.first }.reverse[0...10] repos.each_with_index do |repo, index| puts "#{index + 1}. #{repo.keys.first} - #{repo.values.first} events" end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
open_source_stats-0.0.1 | bin/oss |