Sha256: b7b71c96719adc0162793bf7cb14a8b94f7752a9f8d31b26496f0a8c7e14c90b
Contents?: true
Size: 825 Bytes
Versions: 10
Compression:
Stored size: 825 Bytes
Contents
# frozen_string_literal: true require "tty-screen" require "tty-table" require "tty-box" require "erb" module GitFame class Render < Base FIELDS = [:name, :email, :lines, :commits, :files, :dist].map(&:to_s).freeze attribute :branch, Types::String attribute :result, Result delegate_missing_to :result using Extension # Renders to stdout # # @return [void] def call table = TTY::Table.new(header: FIELDS) width = TTY::Screen.width contributions.reverse_each do |c| table << [c.name, c.email, c.lines.f, c.commits.count.f, c.files.count.f, c.dist(self)] end print table.render(:unicode, width: width, resize: true, alignment: [:center]) end private def contributions result.contributions.sort_by(&:lines) end end end
Version data entries
10 entries across 10 versions & 1 rubygems