From b1713e3bff1bf4722d3040adf5099efbbdfdb68a Mon Sep 17 00:00:00 2001 From: Tomasz Gieniusz Date: Sun, 21 Oct 2012 23:53:31 +0200 Subject: [PATCH] changed lines = insertions + deletions --- config/locales/en.yml | 2 ++ lib/git_stats/git_data/author.rb | 6 +++++- lib/git_stats/git_data/repo.rb | 2 +- lib/git_stats/git_data/short_stat.rb | 4 ++++ .../stats_view/charts/authors_charts.rb | 2 +- lib/git_stats/stats_view/charts/charts.rb | 7 ++++--- .../stats_view/charts/repo_charts.rb | 2 +- templates/authors.haml | 20 ++++++++++++++++++- 8 files changed, 37 insertions(+), 8 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 5d4536e5a..a65d7840d 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -36,11 +36,13 @@ en: commits_by_date: Commits by date insertions_by_author: Lines added by author deletions_by_author: Lines deleted by author + changed_lines_by_author: Changed lines by author best_authors_shown: best authors shown commits_count_by_author: Commits count by author commits_sum_by_author_by_date: Commits sum by author by date insertions_by_author_by_date: Lines added by author by date deletions_by_author_by_date: Lines deleted by author by date + changed_lines_by_author_by_date: Changed lines by author by date best_authors: Best authors insertions: Lines added deletions: Lines deleted diff --git a/lib/git_stats/git_data/author.rb b/lib/git_stats/git_data/author.rb index e14ecea8b..b307505bf 100644 --- a/lib/git_stats/git_data/author.rb +++ b/lib/git_stats/git_data/author.rb @@ -11,6 +11,10 @@ module GitStats @commits ||= repo.commits.select { |commit| commit.author == self } end + def changed_lines + insertions + deletions + end + def insertions short_stats.map(&:insertions).sum end @@ -27,7 +31,7 @@ module GitStats } end - [:insertions, :deletions].each do |method| + [:insertions, :deletions, :changed_lines].each do |method| define_method "#{method}_by_date" do sum = 0 commits.map { |commit| diff --git a/lib/git_stats/git_data/repo.rb b/lib/git_stats/git_data/repo.rb index 88c530f26..1fe49f297 100644 --- a/lib/git_stats/git_data/repo.rb +++ b/lib/git_stats/git_data/repo.rb @@ -41,7 +41,7 @@ module GitStats Hash[authors.map { |author| [author, author.commits.size] }.sort_by { |author, commits| -commits }[0..limit]] end - [:insertions, :deletions].each do |method| + [:insertions, :deletions, :changed_lines].each do |method| define_method "#{method}_by_author" do |limit = 4| Hash[authors.map { |author| [author, author.send(method)] }.sort_by { |author, lines| -lines }[0..limit]] end diff --git a/lib/git_stats/git_data/short_stat.rb b/lib/git_stats/git_data/short_stat.rb index ceb4cb799..85bf5b2eb 100644 --- a/lib/git_stats/git_data/short_stat.rb +++ b/lib/git_stats/git_data/short_stat.rb @@ -8,6 +8,10 @@ module GitStats calculate_stat end + def changed_lines + insertions + deletions + end + def to_s "#{self.class} #@commit" end diff --git a/lib/git_stats/stats_view/charts/authors_charts.rb b/lib/git_stats/stats_view/charts/authors_charts.rb index a01d698ff..1380b9235 100644 --- a/lib/git_stats/stats_view/charts/authors_charts.rb +++ b/lib/git_stats/stats_view/charts/authors_charts.rb @@ -16,7 +16,7 @@ module GitStats end end - [:insertions, :deletions].each do |method| + [:insertions, :deletions, :changed_lines].each do |method| define_method "#{method}_by_author_by_date" do |limit = 4| Chart.new do |f| f.multi_date_chart( diff --git a/lib/git_stats/stats_view/charts/charts.rb b/lib/git_stats/stats_view/charts/charts.rb index 33b2ee642..49b64fb54 100644 --- a/lib/git_stats/stats_view/charts/charts.rb +++ b/lib/git_stats/stats_view/charts/charts.rb @@ -2,10 +2,11 @@ module GitStats module StatsView module Charts class All - delegate :files_by_extension, :lines_by_extension, :files_by_date, :lines_by_date, - :commits_count_by_author, :insertions_by_author, :deletions_by_author, to: :repo_charts + delegate :files_by_extension, :lines_by_extension, :files_by_date, :lines_by_date, :commits_count_by_author, + :changed_lines_by_author, :insertions_by_author, :deletions_by_author, to: :repo_charts - delegate :commits_sum_by_author_by_date, :insertions_by_author_by_date, :deletions_by_author_by_date, to: :authors_charts + delegate :commits_sum_by_author_by_date, :changed_lines_by_author_by_date, + :insertions_by_author_by_date, :deletions_by_author_by_date, to: :authors_charts delegate :activity_by_date, :activity_by_hour, :activity_by_wday, :activity_by_month, :activity_by_year, to: :activity_charts diff --git a/lib/git_stats/stats_view/charts/repo_charts.rb b/lib/git_stats/stats_view/charts/repo_charts.rb index e39c5ed3c..d6f9beb65 100644 --- a/lib/git_stats/stats_view/charts/repo_charts.rb +++ b/lib/git_stats/stats_view/charts/repo_charts.rb @@ -46,7 +46,7 @@ module GitStats end end - [:commits_count_by_author, :insertions_by_author, :deletions_by_author].each do |method| + [:commits_count_by_author, :insertions_by_author, :deletions_by_author, :changed_lines_by_author].each do |method| define_method method do Chart.new do |f| f.column_hash_chart( diff --git a/templates/authors.haml b/templates/authors.haml index 955f928b3..4bb7366dd 100644 --- a/templates/authors.haml +++ b/templates/authors.haml @@ -4,12 +4,16 @@ %a{:href => '#best_authors', 'data-toogle' => 'tab'}= :best_authors.t %li %a{:href => '#commits_count_by_author', 'data-toogle' => 'tab'}= :commits_count_by_author.t + %li + %a{:href => '#changed_lines_by_author', 'data-toogle' => 'tab'}= :changed_lines_by_author.t %li %a{:href => '#insertions_by_author', 'data-toogle' => 'tab'}= :insertions_by_author.t %li %a{:href => '#deletions_by_author', 'data-toogle' => 'tab'}= :deletions_by_author.t %li %a{:href => '#commits_sum_by_author_by_date', 'data-toogle' => 'tab'}= :commits_sum_by_author_by_date.t + %li + %a{:href => '#changed_lines_by_author_by_date', 'data-toogle' => 'tab'}= :changed_lines_by_author_by_date.t %li %a{:href => '#insertions_by_author_by_date', 'data-toogle' => 'tab'}= :insertions_by_author_by_date.t %li @@ -58,6 +62,13 @@ %small %center= "5 #{:best_authors_shown.t}" + .tab-pane{id: 'changed_lines_by_author'} + .page-header + %h1.pagination-centered= :changed_lines_by_author.t + = high_chart("charts.changed_lines_by_author", charts.changed_lines_by_author) + %small + %center= "5 #{:best_authors_shown.t}" + .tab-pane{id: 'insertions_by_author'} .page-header %h1.pagination-centered= :insertions_by_author.t @@ -68,7 +79,7 @@ .tab-pane{id: 'deletions_by_author'} .page-header %h1.pagination-centered= :deletions_by_author.t - = high_chart("charts.deletions_by_author", charts.insertions_by_author) + = high_chart("charts.deletions_by_author", charts.deletions_by_author) %small %center= "5 #{:best_authors_shown.t}" @@ -86,6 +97,13 @@ %small %center= "5 #{:best_authors_shown.t}" + .tab-pane{id: 'changed_lines_by_author_by_date'} + .page-header + %h1.pagination-centered= :changed_lines_by_author_by_date.t + = high_stock("charts.changed_lines_by_author_by_date", charts.changed_lines_by_author_by_date) + %small + %center= "5 #{:best_authors_shown.t}" + .tab-pane{id: 'deletions_by_author_by_date'} .page-header %h1.pagination-centered= :deletions_by_author_by_date.t