Sha256: b05017fa2f4546ad4830035eb2b9bf1db109020eeedc559cabef501f325d2c98
Contents?: true
Size: 1.17 KB
Versions: 6
Compression:
Stored size: 1.17 KB
Contents
# -*- encoding : utf-8 -*- module GitStats module StatsView module Charts class AuthorsCharts AUTHORS_ON_CHART_LIMIT = 4 def initialize(authors) @authors = authors end def commits_sum_by_author_by_date(authors = nil) Chart.new do |f| f.multi_date_chart( data: (authors || @authors.sort_by { |author| -author.commits.size }[0..AUTHORS_ON_CHART_LIMIT]).map { |author| {name: author.name, data: author.commits_sum_by_date} }, title: :lines_by_date.t, y_text: :lines.t ) end end [:insertions, :deletions, :changed_lines].each do |method| define_method "#{method}_by_author_by_date" do |authors = nil| Chart.new do |f| f.multi_date_chart( data: (authors || @authors.sort_by { |author| -author.send(method) }[0..AUTHORS_ON_CHART_LIMIT]).map { |author| {name: author.name, data: author.send("#{method}_by_date")} }, title: :lines_by_date.t, y_text: :lines.t ) end end end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems