mirror of
https://github.com/tomgi/git_stats.git
synced 2024-09-29 12:11:29 +02:00
activity by date
This commit is contained in:
parent
6fc44905cb
commit
b3cbf65f83
@ -31,3 +31,6 @@ en:
|
|||||||
commits_by_month_of_year: Commits by month of year
|
commits_by_month_of_year: Commits by month of year
|
||||||
year: Year
|
year: Year
|
||||||
commits_by_year: Commits by year
|
commits_by_year: Commits by year
|
||||||
|
activity: Activity
|
||||||
|
activity_by_date: Activity by date
|
||||||
|
commits_by_date: Commits by date
|
@ -6,6 +6,10 @@ module GitStats
|
|||||||
add_commits(commits)
|
add_commits(commits)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def by_date
|
||||||
|
@by_date ||= default_hash
|
||||||
|
end
|
||||||
|
|
||||||
def by_hour
|
def by_hour
|
||||||
@by_hour ||= default_hash
|
@by_hour ||= default_hash
|
||||||
end
|
end
|
||||||
@ -51,6 +55,7 @@ module GitStats
|
|||||||
end
|
end
|
||||||
|
|
||||||
def add_commit_at(date)
|
def add_commit_at(date)
|
||||||
|
self.by_date[date] += 1
|
||||||
self.by_hour[date.hour] += 1
|
self.by_hour[date.hour] += 1
|
||||||
self.by_wday[date.wday] += 1
|
self.by_wday[date.wday] += 1
|
||||||
self.by_wday_hour[date.wday][date.hour] += 1
|
self.by_wday_hour[date.wday][date.hour] += 1
|
||||||
|
@ -6,6 +6,16 @@ module GitStats
|
|||||||
@activity = activity
|
@activity = activity
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def activity_by_date
|
||||||
|
Chart.new do |f|
|
||||||
|
f.date_column_chart(
|
||||||
|
data: @activity.by_date,
|
||||||
|
title: :commits_by_date.t,
|
||||||
|
y_text: :commits.t
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def activity_by_hour
|
def activity_by_hour
|
||||||
Chart.new do |f|
|
Chart.new do |f|
|
||||||
f.simple_column_chart(
|
f.simple_column_chart(
|
||||||
|
@ -38,10 +38,16 @@ module GitStats
|
|||||||
series(
|
series(
|
||||||
name: params[:title],
|
name: params[:title],
|
||||||
type: "spline",
|
type: "spline",
|
||||||
data: params[:data].map {|date, value| [date.to_i * 1000, value]}
|
data: params[:data].map { |date, value| [date.to_i * 1000, value] }
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def date_column_chart(params)
|
||||||
|
date_chart(params)
|
||||||
|
data[0][:type] = 'column'
|
||||||
|
data[0][:dataGrouping] = {units: [['week', [1]]], forced: true}
|
||||||
|
end
|
||||||
|
|
||||||
def default_legend
|
def default_legend
|
||||||
legend(
|
legend(
|
||||||
layout: 'vertical',
|
layout: 'vertical',
|
||||||
|
@ -4,8 +4,11 @@ module GitStats
|
|||||||
class All
|
class All
|
||||||
delegate :files_by_extension, :lines_by_extension, :files_by_date, :lines_by_date,
|
delegate :files_by_extension, :lines_by_extension, :files_by_date, :lines_by_date,
|
||||||
:lines_added_by_author, :lines_deleted_by_author, to: :repo_charts
|
:lines_added_by_author, :lines_deleted_by_author, to: :repo_charts
|
||||||
|
|
||||||
delegate :by_authors_wday, to: :authors_charts
|
delegate :by_authors_wday, to: :authors_charts
|
||||||
delegate :activity_by_hour, :activity_by_wday, :activity_by_month, :activity_by_year, to: :activity_charts
|
|
||||||
|
delegate :activity_by_date, :activity_by_hour, :activity_by_wday, :activity_by_month,
|
||||||
|
:activity_by_year, to: :activity_charts
|
||||||
|
|
||||||
attr_reader :repo
|
attr_reader :repo
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
.tabbable.tabs-left
|
.tabbable.tabs-left
|
||||||
%ul.nav.nav-tabs
|
%ul.nav.nav-tabs
|
||||||
%li.active
|
%li.active
|
||||||
|
%a{:href => '#activity_by_date', 'data-toogle' => 'tab'}= :activity_by_date.t
|
||||||
|
%li
|
||||||
%a{:href => '#hour_of_day', 'data-toogle' => 'tab'}= :hour_of_day.t
|
%a{:href => '#hour_of_day', 'data-toogle' => 'tab'}= :hour_of_day.t
|
||||||
%li
|
%li
|
||||||
%a{:href => '#day_of_week', 'data-toogle' => 'tab'}= :day_of_week.t
|
%a{:href => '#day_of_week', 'data-toogle' => 'tab'}= :day_of_week.t
|
||||||
@ -14,7 +16,13 @@
|
|||||||
%a{:href => '#year_month', 'data-toogle' => 'tab'}= :year_month.t
|
%a{:href => '#year_month', 'data-toogle' => 'tab'}= :year_month.t
|
||||||
|
|
||||||
.tab-content
|
.tab-content
|
||||||
.tab-pane.active{id: 'hour_of_day'}
|
.tab-pane.active{id: 'activity_by_date'}
|
||||||
|
.page-header
|
||||||
|
%h1.pagination-centered= :activity_by_date.t
|
||||||
|
= high_stock("charts.activity_by_date", charts.activity_by_date)
|
||||||
|
|
||||||
|
|
||||||
|
.tab-pane{id: 'hour_of_day'}
|
||||||
.page-header
|
.page-header
|
||||||
%h1.pagination-centered= :hour_of_day.t
|
%h1.pagination-centered= :hour_of_day.t
|
||||||
%table{:class => "table table-bordered table-condensed"}
|
%table{:class => "table table-bordered table-condensed"}
|
||||||
@ -30,7 +38,7 @@
|
|||||||
%th= :percentage.t
|
%th= :percentage.t
|
||||||
- repo.activity.by_hour_array.each do |commits|
|
- repo.activity.by_hour_array.each do |commits|
|
||||||
%td= (commits * 100.0 / repo.activity.by_hour_array.sum).round(2)
|
%td= (commits * 100.0 / repo.activity.by_hour_array.sum).round(2)
|
||||||
= high_chart("activity_by_hour", charts.activity_by_hour)
|
= high_chart("charts.activity_by_hour", charts.activity_by_hour)
|
||||||
|
|
||||||
.tab-pane{id: 'day_of_week'}
|
.tab-pane{id: 'day_of_week'}
|
||||||
.page-header
|
.page-header
|
||||||
@ -48,7 +56,7 @@
|
|||||||
%th= :percentage.t
|
%th= :percentage.t
|
||||||
- repo.activity.by_wday_array.each do |commits|
|
- repo.activity.by_wday_array.each do |commits|
|
||||||
%td= (commits * 100.0 / repo.activity.by_wday_array.sum).round(2)
|
%td= (commits * 100.0 / repo.activity.by_wday_array.sum).round(2)
|
||||||
= high_chart("activity_by_wday", charts.activity_by_wday)
|
= high_chart("charts.activity_by_wday", charts.activity_by_wday)
|
||||||
|
|
||||||
|
|
||||||
.tab-pane{id: 'hour_of_week'}
|
.tab-pane{id: 'hour_of_week'}
|
||||||
@ -81,13 +89,13 @@
|
|||||||
%th= :percentage.t
|
%th= :percentage.t
|
||||||
- repo.activity.by_month_array.each do |commits|
|
- repo.activity.by_month_array.each do |commits|
|
||||||
%td= (commits * 100.0 / repo.activity.by_month_array.sum).round(2)
|
%td= (commits * 100.0 / repo.activity.by_month_array.sum).round(2)
|
||||||
= high_chart("activity_by_month", charts.activity_by_month)
|
= high_chart("charts.activity_by_month", charts.activity_by_month)
|
||||||
|
|
||||||
|
|
||||||
.tab-pane{id: 'year'}
|
.tab-pane{id: 'year'}
|
||||||
.page-header
|
.page-header
|
||||||
%h1.pagination-centered= :year.t
|
%h1.pagination-centered= :year.t
|
||||||
= high_chart("activity_by_year", charts.activity_by_year)
|
= high_chart("charts.activity_by_year", charts.activity_by_year)
|
||||||
|
|
||||||
|
|
||||||
.tab-pane{id: 'year_month'}
|
.tab-pane{id: 'year_month'}
|
||||||
|
Loading…
Reference in New Issue
Block a user