linesPerCommit

  • /*
     * @title linesPerCommit
     * @description Run this $GITHUB_HOST/$owner/$repo/graphs/contributors
     * @include https://github.com/*
     * @license MIT License
     * @require jquery
     */
    
    // Generated by CoffeeScript 1.4.0
    
    $(function () {
    var $additions, $avgAdd, $avgAddWrapper, $avgDel, $avgDelWrapper, $cmeta, $commits, $contributors, $deletions, $people, $person, $stat, averageAdditions, averageDeletions, changes, name, parseCommaSeparatedNumeric, person, totalAdditions, totalCommits, totalDeletions, _i, _len, _ref, _ref1, _ref2;
    
    parseCommaSeparatedNumeric = function(csn) {
      return parseInt(csn.replace(/,/, ''));
    };
    
    $contributors = $('#contributors');
    
    $people = $contributors.find('.person');
    
    _ref = $people.get();
    for (_i = 0, _len = _ref.length; _i < _len; _i++) {
      person = _ref[_i];
      $person = $(person);
      $commits = $person.find('.cmt');
      $additions = $person.find('.a');
      $deletions = $person.find('.d');
      _ref1 = (function() {
        var _j, _len1, _ref1, _results;
        _ref1 = [$commits, $additions, $deletions];
        _results = [];
        for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
          $stat = _ref1[_j];
          _results.push(parseCommaSeparatedNumeric($stat.text()));
        }
        return _results;
      })(), totalCommits = _ref1[0], totalAdditions = _ref1[1], totalDeletions = _ref1[2];
      _ref2 = (function() {
        var _j, _len1, _ref2, _results;
        _ref2 = [totalAdditions, totalDeletions];
        _results = [];
        for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
          changes = _ref2[_j];
          _results.push(changes / totalCommits);
        }
        return _results;
      })(), averageAdditions = _ref2[0], averageDeletions = _ref2[1];
      name = $person.find('.aname').text();
      $cmeta = $person.find('.cmeta');
      $avgAdd = $(document.createElement('span')).css({
        color: $additions.css('color')
      }).text("" + (Math.round(averageAdditions)) + " lpc");
      $avgAddWrapper = $(document.createElement('span')).text(' / ').append($avgAdd);
      $avgDel = $(document.createElement('span')).css({
        color: $deletions.css('color')
      }).text("" + (Math.round(averageDeletions)) + " lpc");
      $avgDelWrapper = $(document.createElement('span')).text(' / ').append($avgDel);
      $cmeta.append($avgAddWrapper, $avgDelWrapper);
      console.log("" + name + ": avg: +" + averageAdditions + " -" + averageDeletions);
    }
    });
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2013/01/10 19:32:05 - 2013-01-10
  2. 2013/01/10 19:25:14 - 2013-01-10