hubstats 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/CHANGELOG.markdown +1 -0
- data/app/assets/javascripts/hubstats/users.js +5 -1
- data/app/controllers/hubstats/deploys_controller.rb +21 -8
- data/app/controllers/hubstats/pull_requests_controller.rb +2 -1
- data/app/controllers/hubstats/repos_controller.rb +13 -8
- data/app/controllers/hubstats/users_controller.rb +4 -5
- data/app/models/hubstats/deploy.rb +3 -3
- data/app/models/hubstats/pull_request.rb +12 -1
- data/app/models/hubstats/repo.rb +1 -0
- data/app/models/hubstats/user.rb +11 -1
- data/app/views/hubstats/deploys/index.html.erb +4 -4
- data/app/views/hubstats/deploys/show.html.erb +4 -0
- data/app/views/hubstats/partials/_deploy-condensed.html.erb +9 -4
- data/app/views/hubstats/partials/_deploy.html.erb +5 -5
- data/app/views/hubstats/partials/_quick_addition_stats.html.erb +19 -0
- data/app/views/hubstats/partials/_quick_stats.html.erb +19 -18
- data/app/views/hubstats/partials/_repo.html.erb +4 -3
- data/app/views/hubstats/partials/_user.html.erb +18 -5
- data/app/views/hubstats/pull_requests/show.html.erb +10 -0
- data/app/views/hubstats/repos/dashboard.html.erb +6 -11
- data/app/views/hubstats/repos/show.html.erb +20 -5
- data/app/views/hubstats/tables/_deploys-condensed.html.erb +2 -2
- data/app/views/hubstats/tables/_users-condensed.html.erb +1 -1
- data/app/views/hubstats/tables/_users.html.erb +9 -2
- data/app/views/hubstats/users/index.html.erb +1 -1
- data/app/views/hubstats/users/show.html.erb +9 -3
- data/config/routes.rb +1 -1
- data/db/migrate/20150526154850_create_hubstats_deploys.rb +0 -1
- data/db/migrate/20150605184015_add_user_id_delete_deployed_by_to_deploy.rb +6 -0
- data/db/migrate/20150605190549_add_merged_by_column_to_pull_request.rb +5 -0
- data/db/seeds.rb +1 -1
- data/lib/hubstats/version.rb +1 -1
- data/spec/controllers/hubstats/deploys_controller_spec.rb +36 -25
- data/spec/factories/deploys.rb +8 -1
- data/spec/factories/pull_requests.rb +12 -0
- data/spec/models/hubstats/comment_spec.rb +2 -2
- data/spec/models/hubstats/deploy_spec.rb +20 -20
- data/spec/models/hubstats/label_spec.rb +3 -3
- data/spec/models/hubstats/pull_request_spec.rb +32 -1
- data/spec/models/hubstats/repo_spec.rb +7 -7
- data/spec/models/hubstats/user_spec.rb +1 -1
- data/test/dummy/db/schema.rb +2 -2
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzFmMmMxMmUzZGRlZmQ1OTZlNWU0ZmZkMTIxMmQyNDhlNmEzZjc2Nw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZGI0N2Y1YjUyMDlkYmJiM2FiZDY3M2ZlZGFlMDY4M2IzY2ZhNTVlZQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODhkZDEyZWVmZWRmNjUwYTUzMDFkY2IzNjFhNTFmYzAyMTg5NTZkODcwNWJj
|
10
|
+
MzRhOTgyZTI4ZDgxNDk5ZDI5MDQ4ZDRmMGJmZWIwNzdlZjAxODlmODYzNjcy
|
11
|
+
M2QwY2EyY2FlNmY5MTRkNjZiNDVhMzVlN2JmMTMzYjhiN2EzMGY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NmRiMjk0NmMxYjY2MTZiMWEwZjllNjliZDk5YjMxZjRkODdhYzRkNWI1ZTE0
|
14
|
+
NzExNjViMzk3OTMyNTZhZDMxMzA2YjVjM2U0MGMyNjQ2NDRkNWU3ZTYwM2Jj
|
15
|
+
MjZjMjc2YjFkZWQwNjU1ZGNjZjllYTI0NDExMjBhYWJjMDg5NzI=
|
data/CHANGELOG.markdown
CHANGED
@@ -5,6 +5,10 @@ $(document).ready(function() {
|
|
5
5
|
queryParameters = getUrlVars();
|
6
6
|
setUserDefaults(queryParameters);
|
7
7
|
|
8
|
+
$("#deploys").on("click", function(){
|
9
|
+
toggleOrder(queryParameters,$(this).attr('id'));
|
10
|
+
});
|
11
|
+
|
8
12
|
$("#pulls").on("click", function(){
|
9
13
|
toggleOrder(queryParameters,$(this).attr('id'));
|
10
14
|
});
|
@@ -47,4 +51,4 @@ function setUserDefaults(queryParameters) {
|
|
47
51
|
else {
|
48
52
|
$("#pulls .octicon").addClass('octicon-arrow-down');
|
49
53
|
}
|
50
|
-
}
|
54
|
+
}
|
@@ -5,7 +5,7 @@ module Hubstats
|
|
5
5
|
|
6
6
|
def index
|
7
7
|
# sets to include user and repo, and sorts data
|
8
|
-
@deploys = Hubstats::Deploy.includes(:repo).
|
8
|
+
@deploys = Hubstats::Deploy.includes(:repo, :pull_requests, :user).where("user_id IS NOT NULL")
|
9
9
|
.belonging_to_users(params[:users]).belonging_to_repos(params[:repos])
|
10
10
|
.group_by(params[:group])
|
11
11
|
.order_with_timespan(@timespan, params[:order])
|
@@ -27,7 +27,7 @@ module Hubstats
|
|
27
27
|
pull_request_count = @pull_requests.length
|
28
28
|
net_additions = find_net_additions(@deploy.id)
|
29
29
|
comment_count = find_comment_count(@deploy.id)
|
30
|
-
@
|
30
|
+
@stats_basics = {
|
31
31
|
pull_count: pull_request_count,
|
32
32
|
net_additions: net_additions,
|
33
33
|
comment_count: comment_count
|
@@ -62,27 +62,40 @@ module Hubstats
|
|
62
62
|
|
63
63
|
# make a new deploy with all of the correct attributes
|
64
64
|
def create
|
65
|
-
if params[:
|
66
|
-
render text: "Missing a necessary parameter:
|
65
|
+
if params[:git_revision].nil? || params[:repo_name].nil? || params[:pull_request_ids].nil?
|
66
|
+
render text: "Missing a necessary parameter: git revision, pull request ids, or repository name.", :status => 400 and return
|
67
67
|
else
|
68
68
|
@deploy = Deploy.new
|
69
69
|
@deploy.deployed_at = params[:deployed_at]
|
70
|
-
@deploy.deployed_by = params[:deployed_by]
|
71
70
|
@deploy.git_revision = params[:git_revision]
|
72
71
|
@repo = Hubstats::Repo.where(full_name: params[:repo_name])
|
73
72
|
|
73
|
+
# Check before assigning the repository
|
74
74
|
if @repo.empty?
|
75
75
|
render text: "Repository name is invalid.", :status => 400 and return
|
76
76
|
else
|
77
77
|
@deploy.repo_id = @repo.first.id.to_i
|
78
78
|
end
|
79
79
|
|
80
|
+
# Check before assigning the pull requests
|
80
81
|
@pull_request_id_array = params[:pull_request_ids].split(",").map {|i| i.strip.to_i}
|
81
|
-
@
|
82
|
-
|
82
|
+
if @pull_request_id_array.empty? || @pull_request_id_array == [0]
|
83
|
+
render text: "No pull request ids given.", :status => 400 and return
|
84
|
+
else
|
85
|
+
@deploy.pull_requests = Hubstats::PullRequest.where(repo_id: @deploy.repo_id).where(number: @pull_request_id_array)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Check before assigning the user_id
|
89
|
+
if @deploy.pull_requests.first.nil?
|
90
|
+
render text: "Pull requests not valid", :status => 400 and return
|
91
|
+
else
|
92
|
+
if @deploy.pull_requests.first.merged_by
|
93
|
+
@deploy.user_id = @deploy.pull_requests.first.merged_by
|
94
|
+
end
|
95
|
+
end
|
83
96
|
|
84
97
|
if @deploy.save
|
85
|
-
render :nothing =>true, :status => 200 and return
|
98
|
+
render :nothing => true, :status => 200 and return
|
86
99
|
else
|
87
100
|
render :nothing => true, :status => 400 and return
|
88
101
|
end
|
@@ -33,7 +33,8 @@ module Hubstats
|
|
33
33
|
@pull_request = Hubstats::PullRequest.belonging_to_repo(@repo.id).where(id: params[:id]).first
|
34
34
|
@comments = Hubstats::Comment.belonging_to_pull_request(params[:id]).includes(:user).created_since(@timespan).limit(20)
|
35
35
|
@comment_count = Hubstats::Comment.belonging_to_pull_request(params[:id]).includes(:user).created_since(@timespan).count(:all)
|
36
|
-
@
|
36
|
+
@deploys = Hubstats::Deploy.where(id: @pull_request.deploy_id)
|
37
|
+
@stats_basics = {
|
37
38
|
comment_count: @comment_count,
|
38
39
|
net_additions: @pull_request.additions.to_i - @pull_request.deletions.to_i
|
39
40
|
}
|
@@ -21,14 +21,17 @@ module Hubstats
|
|
21
21
|
@repo = Hubstats::Repo.where(name: params[:repo]).first
|
22
22
|
@pull_requests = Hubstats::PullRequest.belonging_to_repo(@repo.id).updated_since(@timespan).order("updated_at DESC").limit(20)
|
23
23
|
@users = Hubstats::User.with_pulls_or_comments(@timespan,@repo.id).only_active.limit(20)
|
24
|
+
@deploys = Hubstats::Deploy.belonging_to_repo(@repo.id).deployed_since(@timespan).limit(20)
|
24
25
|
@pull_count = Hubstats::PullRequest.belonging_to_repo(@repo.id).updated_since(@timespan).count(:all)
|
25
26
|
@deploy_count = Hubstats::Deploy.belonging_to_repo(@repo.id).deployed_since(@timespan).count(:all)
|
26
27
|
@user_count = Hubstats::User.with_pulls_or_comments(@timespan,@repo.id).only_active.length
|
27
|
-
@
|
28
|
+
@stats_basics = {
|
28
29
|
user_count: @user_count,
|
29
30
|
deploy_count: @deploy_count,
|
30
31
|
pull_count: @pull_count,
|
31
|
-
comment_count: Hubstats::Comment.belonging_to_repo(@repo.id).created_since(@timespan).count(:all)
|
32
|
+
comment_count: Hubstats::Comment.belonging_to_repo(@repo.id).created_since(@timespan).count(:all)
|
33
|
+
}
|
34
|
+
@stats_additions = {
|
32
35
|
avg_additions: Hubstats::PullRequest.merged_since(@timespan).belonging_to_repo(@repo.id).average(:additions).to_i,
|
33
36
|
avg_deletions: Hubstats::PullRequest.merged_since(@timespan).belonging_to_repo(@repo.id).average(:deletions).to_i,
|
34
37
|
net_additions: Hubstats::PullRequest.merged_since(@timespan).belonging_to_repo(@repo.id).sum(:additions).to_i -
|
@@ -37,17 +40,19 @@ module Hubstats
|
|
37
40
|
end
|
38
41
|
|
39
42
|
def dashboard
|
40
|
-
@repos = Hubstats::Repo.with_recent_activity(@timespan)
|
41
|
-
@users = Hubstats::User.with_pulls_or_comments(@timespan).only_active.limit(20)
|
42
|
-
@repo_count = Hubstats::Repo.with_recent_activity(@timespan).count(:all)
|
43
|
+
@repos = Hubstats::Repo.with_recent_activity(@timespan)
|
43
44
|
@user_count = Hubstats::User.with_pulls_or_comments(@timespan).only_active.length
|
44
|
-
@
|
45
|
+
@stats_basics = {
|
45
46
|
user_count: @user_count,
|
46
47
|
deploy_count: Hubstats::Deploy.count(:all),
|
47
48
|
pull_count: Hubstats::PullRequest.merged_since(@timespan).count(:all),
|
48
|
-
comment_count: Hubstats::Comment.created_since(@timespan).count(:all)
|
49
|
+
comment_count: Hubstats::Comment.created_since(@timespan).count(:all)
|
50
|
+
}
|
51
|
+
@stats_additions = {
|
49
52
|
avg_additions: Hubstats::PullRequest.merged_since(@timespan).average(:additions).to_i,
|
50
|
-
avg_deletions: Hubstats::PullRequest.merged_since(@timespan).average(:deletions).to_i
|
53
|
+
avg_deletions: Hubstats::PullRequest.merged_since(@timespan).average(:deletions).to_i,
|
54
|
+
net_additions: Hubstats::PullRequest.merged_since(@timespan).sum(:additions).to_i -
|
55
|
+
Hubstats::PullRequest.merged_since(@timespan).sum(:deletions).to_i
|
51
56
|
}
|
52
57
|
end
|
53
58
|
end
|
@@ -22,15 +22,14 @@ module Hubstats
|
|
22
22
|
@user = Hubstats::User.where(login: params[:id]).first
|
23
23
|
@pull_requests = Hubstats::PullRequest.belonging_to_user(@user.id).updated_since(@timespan).order("updated_at DESC").limit(20)
|
24
24
|
@comments = Hubstats::Comment.belonging_to_user(@user.id).created_since(@timespan).order("created_at DESC").limit(20)
|
25
|
-
@
|
25
|
+
@deploys = Hubstats::Deploy.belonging_to_user(@user.id).deployed_since(@timespan).limit(20)
|
26
26
|
@pull_count = Hubstats::PullRequest.belonging_to_user(@user.id).updated_since(@timespan).count(:all)
|
27
|
-
|
27
|
+
@deploy_count = Hubstats::Deploy.belonging_to_user(@user.id).deployed_since(@timespan).count(:all)
|
28
28
|
@comment_count = Hubstats::Comment.belonging_to_user(@user.id).created_since(@timespan).count(:all)
|
29
|
-
@
|
29
|
+
@stats_basics = {
|
30
30
|
pull_count: Hubstats::PullRequest.belonging_to_user(@user.id).merged_since(@timespan).count(:all),
|
31
|
-
|
31
|
+
deploy_count: @deploy_count,
|
32
32
|
comment_count: @comment_count,
|
33
|
-
review_count: @review ? @review.reviews_count : 0,
|
34
33
|
avg_additions: Hubstats::PullRequest.merged_since(@timespan).belonging_to_user(@user.id).average(:additions).to_i,
|
35
34
|
avg_deletions: Hubstats::PullRequest.merged_since(@timespan).belonging_to_user(@user.id).average(:deletions).to_i,
|
36
35
|
net_additions: Hubstats::PullRequest.merged_since(@timespan).belonging_to_user(@user.id).sum(:additions).to_i -
|
@@ -2,7 +2,7 @@ module Hubstats
|
|
2
2
|
class Deploy < ActiveRecord::Base
|
3
3
|
|
4
4
|
before_validation :check_time, on: :create
|
5
|
-
validates :git_revision, :deployed_at, :
|
5
|
+
validates :git_revision, :deployed_at, :repo_id, presence: true
|
6
6
|
|
7
7
|
def check_time
|
8
8
|
self.deployed_at = Time.now.getutc if deployed_at.nil?
|
@@ -16,9 +16,9 @@ module Hubstats
|
|
16
16
|
scope :belonging_to_users, lambda {|user_id| where(user_id: user_id.split(',')) if user_id}
|
17
17
|
scope :order_with_timespan
|
18
18
|
scope :with_repo_name, select('DISTINCT hubstats_repos.name as repo_name, hubstats_deploys.*').joins("LEFT JOIN hubstats_repos ON hubstats_repos.id = hubstats_deploys.repo_id")
|
19
|
-
scope :with_user_name, select('DISTINCT
|
19
|
+
scope :with_user_name, select('DISTINCT hubstats_users.login as user_name, hubstats_deploys.*').joins("LEFT JOIN hubstats_users ON hubstats_users.id = hubstats_deploys.user_id")
|
20
20
|
|
21
|
-
attr_accessible :git_revision, :repo_id, :deployed_at, :
|
21
|
+
attr_accessible :git_revision, :repo_id, :deployed_at, :user_id, :pull_request_ids
|
22
22
|
|
23
23
|
belongs_to :user
|
24
24
|
belongs_to :repo
|
@@ -20,7 +20,7 @@ module Hubstats
|
|
20
20
|
:review_comments_url, :review_comment_url, :comments_url, :statuses_url, :number,
|
21
21
|
:state, :title, :body, :created_at, :updated_at, :closed_at, :merged_at,
|
22
22
|
:merge_commit_sha, :merged, :mergeable, :comments, :commits, :additions,
|
23
|
-
:deletions, :changed_files, :user_id, :repo_id
|
23
|
+
:deletions, :changed_files, :user_id, :repo_id, :merged_by
|
24
24
|
|
25
25
|
belongs_to :user
|
26
26
|
belongs_to :repo
|
@@ -40,6 +40,17 @@ module Hubstats
|
|
40
40
|
pull_data = github_pull.slice(*column_names.map(&:to_sym))
|
41
41
|
|
42
42
|
pull = where(:id => pull_data[:id]).first_or_create(pull_data)
|
43
|
+
|
44
|
+
# Updates the merged_by part of the pull request and the user_id of the deploy
|
45
|
+
if github_pull[:merged_by] && github_pull[:merged_by][:id]
|
46
|
+
pull_data[:merged_by] = github_pull[:merged_by][:id]
|
47
|
+
deploy = Hubstats::Deploy.where(id: pull.deploy_id, user_id: nil).first
|
48
|
+
if deploy
|
49
|
+
deploy.user_id = pull_data[:merged_by]
|
50
|
+
deploy.save!
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
43
54
|
return pull if pull.update_attributes(pull_data)
|
44
55
|
Rails.logger.warn pull.errors.inspect
|
45
56
|
end
|
data/app/models/hubstats/repo.rb
CHANGED
data/app/models/hubstats/user.rb
CHANGED
@@ -15,6 +15,12 @@ module Hubstats
|
|
15
15
|
.joins("LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.user_id = hubstats_users.id AND hubstats_pull_requests.created_at > '#{time}' AND hubstats_pull_requests.repo_id = '#{repo_id}' AND hubstats_pull_requests.merged = '1'")
|
16
16
|
.group("hubstats_users.id")
|
17
17
|
}
|
18
|
+
scope :deploys_count, lambda { |time|
|
19
|
+
select("hubstats_users.id as user_id")
|
20
|
+
.select("IFNULL(COUNT(DISTINCT hubstats_deploys.id),0) AS deploy_count")
|
21
|
+
.joins("LEFT JOIN hubstats_deploys ON hubstats_deploys.user_id = hubstats_users.id AND hubstats_deploys.deployed_at > '#{time}'")
|
22
|
+
.group("hubstats_users.id")
|
23
|
+
}
|
18
24
|
scope :comments_count, lambda { |time|
|
19
25
|
select("hubstats_users.id as user_id")
|
20
26
|
.select("COUNT(DISTINCT hubstats_comments.id) AS comment_count")
|
@@ -59,10 +65,11 @@ module Hubstats
|
|
59
65
|
}
|
60
66
|
|
61
67
|
scope :with_all_metrics, lambda { |time|
|
62
|
-
select("hubstats_users.*, pull_request_count, comment_count, average_additions, average_deletions")
|
68
|
+
select("hubstats_users.*, deploy_count, pull_request_count, comment_count, average_additions, average_deletions")
|
63
69
|
.joins("LEFT JOIN (#{averages(time).to_sql}) AS averages ON averages.user_id = hubstats_users.id")
|
64
70
|
.joins("LEFT JOIN (#{pull_requests_count(time).to_sql}) AS pull_requests ON pull_requests.user_id = hubstats_users.id")
|
65
71
|
.joins("LEFT JOIN (#{comments_count(time).to_sql}) AS comments ON comments.user_id = hubstats_users.id")
|
72
|
+
.joins("LEFT JOIN (#{deploys_count(time).to_sql}) AS deploys ON deploys.user_id = hubstats_users.id")
|
66
73
|
.group("hubstats_users.id")
|
67
74
|
}
|
68
75
|
|
@@ -78,6 +85,7 @@ module Hubstats
|
|
78
85
|
has_many :comments
|
79
86
|
has_many :repos, :class_name => "Repo"
|
80
87
|
has_many :pull_requests
|
88
|
+
has_many :deploys
|
81
89
|
|
82
90
|
def self.create_or_update(github_user)
|
83
91
|
github_user[:role] = github_user.delete :type ##changing :type in to :role
|
@@ -102,6 +110,8 @@ module Hubstats
|
|
102
110
|
if order_params
|
103
111
|
order = order_params.include?('asc') ? "ASC" : "DESC"
|
104
112
|
case order_params.split('-').first
|
113
|
+
when 'deploys'
|
114
|
+
order("deploy_count #{order}")
|
105
115
|
when 'pulls'
|
106
116
|
order("pull_request_count #{order}")
|
107
117
|
when 'comments'
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="row" %>
|
3
3
|
<div class="col col-lg-3 col-md-3 col-sm-3">
|
4
4
|
|
5
|
-
<!--
|
5
|
+
<!-- Allow for filtering by repository or user -->
|
6
6
|
<div class="form-group">
|
7
7
|
<input class="select2-control" id="repos">
|
8
8
|
</input>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</div>
|
15
15
|
|
16
16
|
<div class="col col-lg-9 col-md-9 col-sm-9">
|
17
|
-
<!--
|
17
|
+
<!-- Allow viewing deploys by newest first or oldest first -->
|
18
18
|
<div id="sort-group" class="btn-group" data-toggle="buttons">
|
19
19
|
<label class="btn btn-default" id="desc">
|
20
20
|
<input type="radio" name="sort"> Newest
|
@@ -24,14 +24,14 @@
|
|
24
24
|
</label>
|
25
25
|
</div>
|
26
26
|
|
27
|
-
<!--
|
27
|
+
<!-- Allow to group by repository and user -->
|
28
28
|
<select id="group-by" class="form-control pull-right" style="width: 100px; display: inline; ">
|
29
29
|
<option value="">Group By</option>
|
30
30
|
<option value="user">User</option>
|
31
31
|
<option value="repo">Repo</option>
|
32
32
|
</select>
|
33
33
|
|
34
|
-
<!--
|
34
|
+
<!-- Show all of the deploys -->
|
35
35
|
<%= render 'hubstats/tables/grouped_deploys' %>
|
36
36
|
|
37
37
|
<!--Contains the pagination so that only 15 deploys show per page-->
|
@@ -5,6 +5,10 @@
|
|
5
5
|
<%= link_to @deploy.repo.name.titleize, repo_path(@deploy.repo.name) %> /
|
6
6
|
<%= @deploy.git_revision.titleize %>
|
7
7
|
</h1>
|
8
|
+
<br>
|
9
|
+
<h4 class="text-center">
|
10
|
+
Deployed at: <%= @deploy.deployed_at %>
|
11
|
+
</h4>
|
8
12
|
<!--Show the number of pull requests, comments, and net additions-->
|
9
13
|
<%= render "hubstats/partials/quick_stats" %>
|
10
14
|
</div>
|
@@ -1,14 +1,19 @@
|
|
1
1
|
<div class="row single-deploy">
|
2
|
+
<div class="user-image-small col-lg-1 col-md-1 col-sm-1 col-xs-2" >
|
3
|
+
<img src= <%= deploy.user.avatar_url%> alt= <%= deploy.user.login %> >
|
4
|
+
</div>
|
2
5
|
|
3
|
-
|
6
|
+
<!-- Show the git revision and when the deploy happened by whom -->
|
7
|
+
<div class="deploy-info col-lg-6 col-md-6 col-sm-6 col-xs-5">
|
4
8
|
<h4>
|
5
|
-
<%= deploy.git_revision %>
|
9
|
+
<%= link_to deploy.git_revision, deploy_path(deploy) %>
|
6
10
|
</h4>
|
7
|
-
by <%= link_to deploy.
|
11
|
+
by <%= link_to deploy.user.login, user_path(deploy.user) %>
|
8
12
|
<%= "#{time_ago_in_words(deploy.deployed_at)} ago "%>
|
9
13
|
</div>
|
10
14
|
|
11
|
-
|
15
|
+
<!-- Show all of the pull requests linked to the github PR -->
|
16
|
+
<div class="col-lg-5 col-md-5 col-sm-5">
|
12
17
|
<div class="deploy-right">
|
13
18
|
<% deploy.pull_requests.each_with_index do |pull_request, index| %>
|
14
19
|
<% if index == deploy.pull_requests.size - 1 %>
|
@@ -1,22 +1,22 @@
|
|
1
1
|
<div class="row single-deploy">
|
2
2
|
|
3
3
|
<div class="user-image col-lg-1 col-md-1 col-sm-1" >
|
4
|
-
|
4
|
+
<img src= <%= deploy.user.avatar_url %> alt= <%= deploy.user.login %> >
|
5
5
|
</div>
|
6
6
|
|
7
|
-
<!--Show the repo name, git revision, and who deployed it when-->
|
7
|
+
<!-- Show the repo name, git revision, and who deployed it when -->
|
8
8
|
<div class="deploy-info col-lg-6 col-md-7 col-sm-6">
|
9
9
|
<h4>
|
10
10
|
<%= link_to deploy.repo.name, repo_path(deploy.repo.name) %> /
|
11
11
|
<%= link_to deploy.git_revision, deploy_path(deploy) %>
|
12
12
|
</h4>
|
13
|
-
<br>
|
14
|
-
by <%= link_to deploy.
|
13
|
+
<br>
|
14
|
+
by <%= link_to deploy.user.login, user_path(deploy.user) %>
|
15
15
|
<%= "#{time_ago_in_words(deploy.deployed_at)} ago "%>
|
16
16
|
<br>
|
17
17
|
</div>
|
18
18
|
|
19
|
-
<!--Show a list of links with all the pull requests in the deploy-->
|
19
|
+
<!-- Show a list of links with all the pull requests in the deploy -->
|
20
20
|
<div class="col-lg-5 col-md-5 col-sm-5">
|
21
21
|
<div class="deploy-right">
|
22
22
|
<% deploy.pull_requests.each_with_index do |pull_request, index| %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<div class="col-lg-<%= (12-(@stats_additions.length)*2)/2 %>"></div>
|
2
|
+
<% if @stats_additions.has_key? :net_additions %>
|
3
|
+
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
4
|
+
<h1> <%= @stats_additions[:net_additions] %> </h1>
|
5
|
+
<h4> Net Additions </h4>
|
6
|
+
</div>
|
7
|
+
<% end %>
|
8
|
+
<% if @stats_additions.has_key? :avg_additions %>
|
9
|
+
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
10
|
+
<h1> <%= @stats_additions[:avg_additions] %> </h1>
|
11
|
+
<h4> Average Additions </h4>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
<% if @stats_additions.has_key? :avg_deletions%>
|
15
|
+
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
16
|
+
<h1><%= @stats_additions[:avg_deletions] %> </h1>
|
17
|
+
<h4> Average Deletions </h4>
|
18
|
+
</div>
|
19
|
+
<% end %>
|
@@ -1,49 +1,50 @@
|
|
1
|
-
<div class="col-lg-<%= (12-(@
|
2
|
-
|
1
|
+
<div class="col-lg-<%= (12-(@stats_basics.length)*2)/2 %>"></div>
|
2
|
+
|
3
|
+
<% if @stats_basics.has_key? :user_count %>
|
3
4
|
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
4
|
-
<h1> <%= @
|
5
|
+
<h1> <%= @stats_basics[:user_count] %> </h1>
|
5
6
|
<h4> Active Users </h4>
|
6
7
|
</div>
|
7
8
|
<% end %>
|
8
|
-
<% if @
|
9
|
+
<% if @stats_basics.has_key? :deploy_count %>
|
9
10
|
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
10
|
-
<h1> <%= @
|
11
|
+
<h1> <%= @stats_basics[:deploy_count] %> </h1>
|
11
12
|
<h4> Deploys </h4>
|
12
13
|
</div>
|
13
14
|
<% end %>
|
14
|
-
<% if @
|
15
|
+
<% if @stats_basics.has_key? :pull_count %>
|
15
16
|
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
16
|
-
<h1> <%= @
|
17
|
+
<h1> <%= @stats_basics[:pull_count] %> </h1>
|
17
18
|
<h4> Pull Requests </h4>
|
18
19
|
</div>
|
19
20
|
<% end %>
|
20
|
-
<% if @
|
21
|
+
<% if @stats_basics.has_key? :comment_count %>
|
21
22
|
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
22
|
-
<h1><%= @
|
23
|
+
<h1><%= @stats_basics[:comment_count] %> </h1>
|
23
24
|
<h4> Comments </h4>
|
24
25
|
</div>
|
25
26
|
<% end %>
|
26
|
-
<% if @
|
27
|
+
<% if @stats_basics.has_key? :review_count %>
|
27
28
|
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
28
|
-
|
29
|
+
<h1> <%= @stats_basics[:review_count] %> </h1>
|
29
30
|
<h4> Code Reviews </h4>
|
30
31
|
</div>
|
31
32
|
<% end %>
|
32
|
-
<% if @
|
33
|
+
<% if @stats_basics.has_key? :net_additions %>
|
33
34
|
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
34
|
-
<h1> <%= @
|
35
|
+
<h1> <%= @stats_basics[:net_additions] %> </h1>
|
35
36
|
<h4> Net Additions </h4>
|
36
37
|
</div>
|
37
38
|
<% end %>
|
38
|
-
<% if @
|
39
|
+
<% if @stats_basics.has_key? :avg_additions %>
|
39
40
|
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
40
|
-
<h1> <%= @
|
41
|
+
<h1> <%= @stats_basics[:avg_additions] %> </h1>
|
41
42
|
<h4> Average Additions </h4>
|
42
43
|
</div>
|
43
44
|
<% end %>
|
44
|
-
<% if @
|
45
|
+
<% if @stats_basics.has_key? :avg_deletions%>
|
45
46
|
<div class="col col-lg-2 col-md-4 col-sm-4 col-xs-4 text-center">
|
46
|
-
<h1><%= @
|
47
|
+
<h1><%= @stats_basics[:avg_deletions] %> </h1>
|
47
48
|
<h4> Average Deletions </h4>
|
48
49
|
</div>
|
49
|
-
<% end %>
|
50
|
+
<% end %>
|