hubstats 0.0.21 → 0.0.22
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/README.rdoc +1 -3
- data/app/assets/stylesheets/hubstats/application.css +35 -9
- data/app/controllers/hubstats/pull_requests_controller.rb +3 -10
- data/app/controllers/hubstats/repos_controller.rb +12 -10
- data/app/controllers/hubstats/users_controller.rb +9 -7
- data/app/views/hubstats/partials/_comment-condensed.html.erb +22 -0
- data/app/views/hubstats/partials/_comment.html.erb +10 -1
- data/app/views/hubstats/partials/_header.html.erb +3 -3
- data/app/views/hubstats/partials/_pull-condensed.html.erb +27 -0
- data/app/views/hubstats/partials/_pull.html.erb +5 -1
- data/app/views/hubstats/{metrics → partials}/_quick_stats.html.erb +1 -0
- data/app/views/hubstats/partials/_repo.html.erb +20 -0
- data/app/views/hubstats/partials/_user-condensed.html.erb +30 -0
- data/app/views/hubstats/partials/_user.html.erb +8 -4
- data/app/views/hubstats/pull_requests/index.html.erb +2 -3
- data/app/views/hubstats/pull_requests/show.html.erb +12 -4
- data/app/views/hubstats/repos/dashboard.html.erb +10 -7
- data/app/views/hubstats/repos/index.html.erb +1 -1
- data/app/views/hubstats/repos/show.html.erb +17 -10
- data/app/views/hubstats/tables/_comments-condensed.html.erb +7 -0
- data/app/views/hubstats/tables/_comments.html.erb +7 -0
- data/app/views/hubstats/tables/_pulls-condensed.html.erb +8 -0
- data/app/views/hubstats/tables/_pulls.html.erb +8 -0
- data/app/views/hubstats/tables/_repos-condensed.html.erb +8 -0
- data/app/views/hubstats/tables/_repos.html.erb +8 -0
- data/app/views/hubstats/tables/_users-condensed.html.erb +7 -0
- data/app/views/hubstats/tables/_users.html.erb +7 -0
- data/app/views/hubstats/users/index.html.erb +7 -3
- data/app/views/hubstats/users/show.html.erb +13 -10
- data/config/routes.rb +2 -2
- data/lib/hubstats/events_handler.rb +1 -11
- data/lib/hubstats/version.rb +1 -1
- data/test/dummy/config/routes.rb +1 -1
- data/test/dummy/log/development.log +0 -0
- data/test/dummy/log/test.log +33 -0
- data/test/dummy/tmp/cache/assets/CAD/3D0/sprockets%2F781852b612e12270af6602bdb8f985a4 +0 -0
- data/test/dummy/tmp/cache/assets/CBC/4C0/sprockets%2F43796510bea9e088167ff07f3d0a8484 +0 -0
- data/test/dummy/tmp/cache/assets/D20/FF0/sprockets%2F941bab9382328e98fd569386d1ec0af5 +0 -0
- metadata +15 -10
- data/app/views/hubstats/metrics/_comments_table.html.erb +0 -10
- data/app/views/hubstats/metrics/_pulls_table.html.erb +0 -14
- data/app/views/hubstats/metrics/_repos_table.html.erb +0 -8
- data/app/views/hubstats/metrics/_users_table.html.erb +0 -14
- data/app/views/hubstats/pull_requests/repo_index.html.erb +0 -8
- data/test/dummy/tmp/pids/server.pid +0 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZGJjMGNlNWFiMzEyZjE0Zjk2MGRlNTJmNGQzM2JjY2QxOTYxY2NhYw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGFjNTQzNjgzMjM2ZDQ4MzBmZTM1ZDZhMjg0Y2ZhNDQxMDZmOGQ5Zg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODVkOWJiZDczNmUzODAzNjBmZWFmNjc2YmNiODJmNzM0MmZlYjg3Y2JhMzk2
|
10
|
+
OWY0MmYxMTZlNmUyZGNmMWYxNTkzMzM4MTJkMDM1N2EzMjhhODVmOTE1NTc4
|
11
|
+
YmNhZGJjMzE4NjVlNDJhOWM4ZDNlYjNiZjUxNTRjMWI4NmJlYjk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YWUwYzIzMjRmMmVlMjYwYjU4MjFhNmZhZTdkMmVlYjg5ZTA1YWIyNDBkM2Mw
|
14
|
+
ZmJiOTdmOTI5NDFhMjYyYWUyMzc0NWQ2YmY5M2YzMTAxNGNiODgxYzliMzQw
|
15
|
+
ZGRmNGEzZmM2MmJlYzg2NmI4MGI2ZGY4ZjdlOTdjODI3ZDRlMjU=
|
data/README.rdoc
CHANGED
@@ -31,6 +31,4 @@ Hubstats needs to know what repos for it to watch. You can set it to watch eithe
|
|
31
31
|
rake hubstats:setup
|
32
32
|
Add 'mount Hubstats::Engine => "/hubstats"' to your routes file
|
33
33
|
|
34
|
-
This project rocks and uses MIT-LICENSE.
|
35
|
-
|
36
|
-
Sport Ngin
|
34
|
+
This project rocks and uses MIT-LICENSE.
|
@@ -31,53 +31,79 @@
|
|
31
31
|
.text-large {
|
32
32
|
font-size: 32px;
|
33
33
|
}
|
34
|
+
|
35
|
+
.text-small {
|
36
|
+
font-size: 12px;
|
37
|
+
margin: 0px;
|
38
|
+
}
|
34
39
|
.stat-label {
|
35
40
|
display: inline-block;
|
36
41
|
}
|
37
42
|
|
38
43
|
.single-comment > .user-image,
|
44
|
+
.single-comment > .user-image-small,
|
39
45
|
.single-pull > .user-image,
|
46
|
+
.single-pull > .user-image-small,
|
40
47
|
.single-user > .user-image,
|
41
48
|
.single-user > .user-image-small {
|
42
49
|
padding: 5px;
|
43
50
|
}
|
44
51
|
|
45
|
-
|
52
|
+
|
53
|
+
.user-image > img,
|
54
|
+
.repo-image {
|
46
55
|
width: 55px;
|
47
56
|
height: 55px;
|
48
57
|
}
|
49
58
|
|
50
|
-
.
|
51
|
-
|
52
|
-
|
59
|
+
.repo-octicon-small {
|
60
|
+
font-size: 36px !important;
|
61
|
+
}
|
62
|
+
|
63
|
+
.repo-image-small {
|
64
|
+
padding: 5px !important;
|
65
|
+
}
|
66
|
+
|
67
|
+
.user-image-small > img,
|
68
|
+
.repo-image-small > .repo-octicon-small{
|
69
|
+
width: 36px;
|
70
|
+
height: 36px;
|
53
71
|
}
|
54
72
|
|
55
|
-
.pulls, .comments, .users {
|
73
|
+
.pulls, .comments, .users, .repos {
|
56
74
|
margin: 15px 0px 15px 0px;
|
57
75
|
border: 1px solid #ccc;
|
58
76
|
border-radius: 5px;
|
59
77
|
}
|
60
78
|
|
61
|
-
.pulls > .col, .comments > .col, .users > .col{
|
79
|
+
.pulls > .col, .comments > .col, .users > .col, .repos > .col{
|
62
80
|
padding: 0px 5px 0px 5px;
|
63
81
|
}
|
64
82
|
|
65
|
-
.row .single-pull,
|
83
|
+
.row .single-pull,
|
84
|
+
.row .single-comment,
|
85
|
+
.row .single-user,
|
86
|
+
.row .single-repo {
|
66
87
|
padding:5px;
|
67
88
|
margin: 0px;
|
68
89
|
border-bottom: 1px solid #ccc;
|
69
90
|
}
|
70
91
|
|
71
92
|
.comment-info > .well {
|
93
|
+
word-wrap: break-word;
|
72
94
|
padding: 10px;
|
73
95
|
margin-bottom: 5px;
|
74
96
|
}
|
75
97
|
|
76
|
-
.single-pull > .pull-info,
|
98
|
+
.single-pull > .pull-info,
|
99
|
+
.single-user > .user-info,
|
100
|
+
.single-repo > .repo-info {
|
77
101
|
padding: 0px;
|
78
102
|
}
|
79
103
|
|
80
|
-
.pull-info > h4,
|
104
|
+
.pull-info > h4,
|
105
|
+
.user-info > h4,
|
106
|
+
.repo-info > h4 {
|
81
107
|
margin: 0px;
|
82
108
|
}
|
83
109
|
|
@@ -21,20 +21,13 @@ module Hubstats
|
|
21
21
|
.paginate(:page => params[:page], :per_page => 15)
|
22
22
|
end
|
23
23
|
|
24
|
-
def repo_index
|
25
|
-
@repo = Hubstats::Repo.where(name: params[:repo]).first
|
26
|
-
@pull_requests = Hubstats::PullRequest.belonging_to_repo(@repo.id).closed_since(@timespan).order("closed_at DESC")
|
27
|
-
end
|
28
|
-
|
29
24
|
def show
|
30
25
|
@repo = Hubstats::Repo.where(name: params[:repo]).first
|
31
26
|
@pull_request = Hubstats::PullRequest.belonging_to_repo(@repo.id).where(id: params[:id]).first
|
32
|
-
@comments = Hubstats::Comment.belonging_to_pull_request(params[:id]).includes(:user).created_since(@timespan)
|
27
|
+
@comments = Hubstats::Comment.belonging_to_pull_request(params[:id]).includes(:user).created_since(@timespan).limit(20)
|
28
|
+
@comment_count = Hubstats::Comment.belonging_to_pull_request(params[:id]).includes(:user).created_since(@timespan).count(:all)
|
33
29
|
@stats = {
|
34
|
-
|
35
|
-
comment_count: @comments.count(:all),
|
36
|
-
additions: @pull_request.additions.to_i,
|
37
|
-
deletions: @pull_request.deletions.to_i,
|
30
|
+
comment_count: @comment_count,
|
38
31
|
net_additions: @pull_request.additions.to_i - @pull_request.deletions.to_i
|
39
32
|
}
|
40
33
|
end
|
@@ -20,15 +20,17 @@ module Hubstats
|
|
20
20
|
|
21
21
|
def show
|
22
22
|
@repo = Hubstats::Repo.where(name: params[:repo]).first
|
23
|
-
@pull_requests = Hubstats::PullRequest.belonging_to_repo(@repo.id).
|
24
|
-
@users = Hubstats::User.with_pulls_or_comments(@timespan,@repo.id).only_active
|
23
|
+
@pull_requests = Hubstats::PullRequest.belonging_to_repo(@repo.id).updated_since(@timespan).order("updated_at DESC").limit(20)
|
24
|
+
@users = Hubstats::User.with_pulls_or_comments(@timespan,@repo.id).only_active.limit(20)
|
25
|
+
@pull_count = Hubstats::PullRequest.belonging_to_repo(@repo.id).updated_since(@timespan).count(:all)
|
26
|
+
@user_count = Hubstats::User.with_pulls_or_comments(@timespan,@repo.id).only_active.length
|
25
27
|
@stats = {
|
26
|
-
user_count: @
|
27
|
-
pull_count:
|
28
|
+
user_count: @user_count,
|
29
|
+
pull_count: @pull_count,
|
28
30
|
comment_count: Hubstats::Comment.belonging_to_repo(@repo.id).created_since(@timespan).count(:all),
|
29
|
-
avg_additions: Hubstats::PullRequest.
|
30
|
-
avg_deletions: Hubstats::PullRequest.
|
31
|
-
net_additions: Hubstats::PullRequest.
|
31
|
+
avg_additions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_repo(@repo.id).average(:additions).to_i,
|
32
|
+
avg_deletions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_repo(@repo.id).average(:deletions).to_i,
|
33
|
+
net_additions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_repo(@repo.id).sum(:additions).to_i - Hubstats::PullRequest.updated_since(@timespan).belonging_to_repo(@repo.id).sum(:deletions).to_i
|
32
34
|
}
|
33
35
|
end
|
34
36
|
|
@@ -39,10 +41,10 @@ module Hubstats
|
|
39
41
|
@user_count = Hubstats::User.with_pulls_or_comments(@timespan).only_active.length
|
40
42
|
@stats = {
|
41
43
|
user_count: @user_count,
|
42
|
-
pull_count: Hubstats::PullRequest.
|
44
|
+
pull_count: Hubstats::PullRequest.updated_since(@timespan).count(:all),
|
43
45
|
comment_count: Hubstats::Comment.created_since(@timespan).count(:all),
|
44
|
-
avg_additions: Hubstats::PullRequest.
|
45
|
-
avg_deletions: Hubstats::PullRequest.
|
46
|
+
avg_additions: Hubstats::PullRequest.updated_since(@timespan).average(:additions).to_i,
|
47
|
+
avg_deletions: Hubstats::PullRequest.updated_since(@timespan).average(:deletions).to_i
|
46
48
|
}
|
47
49
|
end
|
48
50
|
end
|
@@ -9,7 +9,7 @@ module Hubstats
|
|
9
9
|
elsif params[:id] ##
|
10
10
|
@users = Hubstats::User.where(id: params[:id].split(",")).order("login ASC")
|
11
11
|
else
|
12
|
-
@users = Hubstats::User.with_all_metrics(@timespan).with_id(params[:users]).custom_order(params[:order]).paginate(:page => params[:page], :per_page => 15)
|
12
|
+
@users = Hubstats::User.only_active.with_all_metrics(@timespan).with_id(params[:users]).custom_order(params[:order]).paginate(:page => params[:page], :per_page => 15)
|
13
13
|
end
|
14
14
|
|
15
15
|
respond_to do |format|
|
@@ -20,16 +20,18 @@ module Hubstats
|
|
20
20
|
|
21
21
|
def show
|
22
22
|
@user = Hubstats::User.where(login: params[:id]).first
|
23
|
-
@pull_requests = Hubstats::PullRequest.belonging_to_user(@user.id).
|
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
|
@review = Hubstats::User.pulls_reviewed_count(@timespan).where(login: params[:id]).first
|
26
|
+
@pull_count = Hubstats::PullRequest.belonging_to_user(@user.id).updated_since(@timespan).count(:all)
|
27
|
+
@comment_count = Hubstats::Comment.belonging_to_user(@user.id).created_since(@timespan).count(:all)
|
26
28
|
@stats = {
|
27
|
-
pull_count:
|
28
|
-
comment_count:
|
29
|
+
pull_count: @pull_count,
|
30
|
+
comment_count: @comment_count,
|
29
31
|
review_count: @review ? @review.reviews_count : 0,
|
30
|
-
avg_additions: Hubstats::PullRequest.
|
31
|
-
avg_deletions: Hubstats::PullRequest.
|
32
|
-
net_additions: Hubstats::PullRequest.
|
32
|
+
avg_additions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_user(@user.id).average(:additions).to_i,
|
33
|
+
avg_deletions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_user(@user.id).average(:deletions).to_i,
|
34
|
+
net_additions: Hubstats::PullRequest.updated_since(@timespan).belonging_to_user(@user.id).sum(:additions).to_i - Hubstats::PullRequest.updated_since(@timespan).belonging_to_user(@user.id).sum(:deletions).to_i
|
33
35
|
}
|
34
36
|
end
|
35
37
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<div class="row single-comment">
|
2
|
+
<div class="user-image-small col-lg-1 col-md-1 col-sm-2 col-xs-2">
|
3
|
+
<img src= <%= comment.user.avatar_url%> alt= <%= comment.user.login %> >
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="comment-info col-lg-10 col-md-10 col-sm-8 col-xs-8">
|
7
|
+
<%= link_to comment.user.login, user_path(comment.user) %> commented
|
8
|
+
<%= "#{time_ago_in_words(comment.created_at)} ago "%> <br>
|
9
|
+
<div class="well">
|
10
|
+
<%= comment.body %>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<div class="col-lg-1 col-md-1 col-sm-1 col-xs-1">
|
15
|
+
<div class="pull-right">
|
16
|
+
<a class="subtle" href=<%= comment.html_url %> >
|
17
|
+
<span class="octicon octicon-mark-github"></span>
|
18
|
+
</a>
|
19
|
+
</span>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
@@ -3,11 +3,20 @@
|
|
3
3
|
<img src= <%= comment.user.avatar_url%> alt= <%= comment.user.login %> >
|
4
4
|
</div>
|
5
5
|
|
6
|
-
<div class="comment-info col-lg-
|
6
|
+
<div class="comment-info col-lg-10 col-md-10 col-sm-10">
|
7
7
|
<%= link_to comment.user.login, user_path(comment.user) %> commented
|
8
8
|
<%= "#{time_ago_in_words(comment.created_at)} ago "%> <br>
|
9
9
|
<div class="well">
|
10
10
|
<%= comment.body %>
|
11
11
|
</div>
|
12
12
|
</div>
|
13
|
+
|
14
|
+
<div class="col-lg-1 col-md-1 col-sm-1 col-xs-1">
|
15
|
+
<div class="pull-right">
|
16
|
+
<a class="subtle" href=<%= comment.html_url %> >
|
17
|
+
<span class="octicon octicon-mark-github"></span>
|
18
|
+
</a>
|
19
|
+
</span>
|
20
|
+
</div>
|
21
|
+
</div>
|
13
22
|
</div>
|
@@ -9,13 +9,13 @@
|
|
9
9
|
<span class="icon-bar"></span>
|
10
10
|
<span class="icon-bar"></span>
|
11
11
|
</button>
|
12
|
-
<a class="navbar-brand title" href="/
|
12
|
+
<a class="navbar-brand title" href="/">Hubstats</a>
|
13
13
|
</div>
|
14
14
|
|
15
15
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
16
16
|
<ul class="nav navbar-nav navbar-right">
|
17
|
-
<li><%= link_to "Metrics",
|
18
|
-
<li><%= link_to "Pulls",
|
17
|
+
<li><%= link_to "Metrics", metrics_path%></li>
|
18
|
+
<li><%= link_to "Pulls", root_path%></li>
|
19
19
|
<li><%= link_to "Users", users_path%></li>
|
20
20
|
<li>
|
21
21
|
<select class="form-control push-down" id="time-select">
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div class="row single-pull">
|
2
|
+
<div class="user-image-small col-lg-1 col-md-1 col-sm-1 col-xs-2" >
|
3
|
+
<img src= <%= pull.user.avatar_url%> alt= <%= pull.user.login %> >
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="pull-info col-lg-9 col-md-9 col-sm-9 col-xs-8">
|
7
|
+
<h4>
|
8
|
+
<%= link_to pull.title, repo_pull_path({:repo => pull.repo.name, :id => pull.id}) %>
|
9
|
+
</h4>
|
10
|
+
by <%= link_to pull.user.login, user_path(pull.user) %>
|
11
|
+
<% if pull.state == 'closed' %>
|
12
|
+
<%= "closed #{time_ago_in_words(pull.closed_at)} ago "%>
|
13
|
+
<% else %>
|
14
|
+
<%= "opened #{time_ago_in_words(pull.created_at)} ago "%>
|
15
|
+
<% end %>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2" >
|
19
|
+
<div class="pull-right">
|
20
|
+
# <%= pull.number %>
|
21
|
+
<a class="subtle" href=<%= pull.html_url %> >
|
22
|
+
<span class="octicon octicon-mark-github"></span>
|
23
|
+
</a>
|
24
|
+
</span>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
</div>
|
@@ -22,7 +22,11 @@
|
|
22
22
|
|
23
23
|
<div class="col-lg-2 col-md-2 col-sm-2" >
|
24
24
|
<div class="pull-right">
|
25
|
-
# <%= pull.number %>
|
25
|
+
# <%= pull.number %>
|
26
|
+
<a class="subtle" href=<%= pull.html_url %> >
|
27
|
+
<span class="octicon octicon-mark-github"></span>
|
28
|
+
</a>
|
29
|
+
</span>
|
26
30
|
</div>
|
27
31
|
</div>
|
28
32
|
</div>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<div class="row single-repo">
|
2
|
+
<div class="repo-image-small col-lg-1 col-md-1 col-sm-1 col-xs-2" >
|
3
|
+
<span class="repo-octicon-small mega-octicon octicon-repo"></span>
|
4
|
+
|
5
|
+
</div>
|
6
|
+
<div class="repo-info col-lg-10 col-md-10 col-sm-10 col-xs-8">
|
7
|
+
<h4>
|
8
|
+
<%= link_to repo.name, repo_path(repo)%>
|
9
|
+
</h4>
|
10
|
+
updated <%= distance_of_time_in_words(DateTime.now,repo.updated_at) %> ago
|
11
|
+
</div>
|
12
|
+
<div class="col-lg-1 col-md-1 col-sm-1 col-xs-1">
|
13
|
+
<div class="pull-right">
|
14
|
+
<a class="subtle" href=<%= repo.html_url %> >
|
15
|
+
<span class="octicon octicon-mark-github"></span>
|
16
|
+
</a>
|
17
|
+
</span>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
</div>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<div class="row single-user">
|
2
|
+
<div class="user-image-small col-lg-1 col-md-1 col-sm-1 col-xs-2" >
|
3
|
+
<img src= <%= user.avatar_url%> alt= <%= user.login %> >
|
4
|
+
</div>
|
5
|
+
<div class="user-info col-lg-3 col-md-3 col-sm-3 col-xs-3">
|
6
|
+
<h4>
|
7
|
+
<%= link_to user.login, user_path(user) %>
|
8
|
+
</h4>
|
9
|
+
</div>
|
10
|
+
<div class="col-lg-3 col-lg-offset-1 col-md-3 col-sm-3 col-xs-3">
|
11
|
+
<div class="pull-right">
|
12
|
+
<span class="text-large"><%= user.pull_request_count %></span>
|
13
|
+
<span class="mega-octicon octicon-git-pull-request"></span>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
|
17
|
+
<div class="pull-right">
|
18
|
+
<span class="text-large"><%= user.comment_count %></span>
|
19
|
+
<span class="mega-octicon octicon-comment"></span>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div class="col-lg-1 col-md-1 col-sm-1 col-xs-1">
|
23
|
+
<div class="pull-right">
|
24
|
+
<a class="subtle" href=<%= user.html_url %> >
|
25
|
+
<span class="octicon octicon-mark-github"></span>
|
26
|
+
</a>
|
27
|
+
</span>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
@@ -15,27 +15,31 @@
|
|
15
15
|
</h4>
|
16
16
|
</div>
|
17
17
|
<div class="col-lg-2 col-md-2 col-sm-2">
|
18
|
-
<div class="
|
18
|
+
<div class="pull-right">
|
19
19
|
<span class="text-large"><%= user.pull_request_count %></span>
|
20
20
|
<span class="mega-octicon octicon-git-pull-request"></span>
|
21
|
+
<p class="text-small text-center"> pulls </p>
|
21
22
|
</div>
|
22
23
|
</div>
|
23
24
|
<div class="col-lg-2 col-md-2 col-sm-2">
|
24
|
-
<div class="
|
25
|
+
<div class="pull-right">
|
25
26
|
<span class="text-large"><%= user.comment_count %></span>
|
26
27
|
<span class="mega-octicon octicon-comment"></span>
|
28
|
+
<p class="text-small text-center"> comments </p>
|
27
29
|
</div>
|
28
30
|
</div>
|
29
31
|
<div class="col-lg-2 col-md-2 col-sm-2">
|
30
|
-
<div class="
|
32
|
+
<div class="pull-right">
|
31
33
|
<span class="text-large"><%= user.average_additions %></span>
|
32
34
|
<span class="mega-octicon octicon-plus"></span>
|
35
|
+
<p class="text-small text-center"> additions </p>
|
33
36
|
</div>
|
34
37
|
</div>
|
35
38
|
<div class="col-lg-2 col-md-2 col-sm-2">
|
36
|
-
<div class="
|
39
|
+
<div class="pull-right">
|
37
40
|
<span class="text-large"><%= user.average_deletions %></span>
|
38
41
|
<span class="mega-octicon octicon-dash"></span>
|
42
|
+
<p class="text-small text-center"> deletions </p>
|
39
43
|
</div>
|
40
44
|
</div>
|
41
45
|
|
@@ -47,9 +47,8 @@
|
|
47
47
|
</label>
|
48
48
|
</div>
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
</div>
|
50
|
+
<%= render 'hubstats/tables/pulls' %>
|
51
|
+
|
53
52
|
|
54
53
|
<div class="text-center">
|
55
54
|
<%= will_paginate @posts, renderer: BootstrapPagination::Rails %>
|
@@ -1,11 +1,19 @@
|
|
1
1
|
<div class="container" id="repo">
|
2
2
|
<div class="row">
|
3
|
-
<
|
4
|
-
|
3
|
+
<h1 class="title text-center">
|
4
|
+
<%= link_to @repo.name.titleize, repo_path %> /
|
5
|
+
<a href=<%=@pull_request.html_url%>>
|
6
|
+
<%= @pull_request.title.titleize %>
|
7
|
+
</a>
|
8
|
+
</h1>
|
9
|
+
<%= render 'hubstats/partials/quick_stats' %>
|
5
10
|
</div>
|
6
11
|
|
7
|
-
<div class="col col-lg-
|
8
|
-
|
12
|
+
<div class="col col-lg-8 col-lg-offset-2">
|
13
|
+
<div class="row">
|
14
|
+
<h4> Comments </h4>
|
15
|
+
<%= render 'hubstats/tables/comments' %>
|
16
|
+
</div>
|
9
17
|
</div>
|
10
18
|
</div>
|
11
19
|
|
@@ -1,21 +1,24 @@
|
|
1
1
|
<div class="container" id="splash">
|
2
2
|
<div class="row text-center">
|
3
|
-
<%= render 'hubstats/
|
3
|
+
<%= render 'hubstats/partials/quick_stats' %>
|
4
4
|
</div>
|
5
5
|
<div class="row">
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
|
7
|
+
<div class="col col-lg-6">
|
8
|
+
<h3> Active Repositories </h3>
|
9
|
+
<%= render 'hubstats/tables/repos' %>
|
9
10
|
<% if @repo_count > 20 %>
|
10
11
|
<p class="pull-right"><%= link_to "View All", repos_path %></p>
|
11
12
|
<% end %>
|
12
13
|
</div>
|
13
|
-
|
14
|
-
|
15
|
-
|
14
|
+
|
15
|
+
<div class="col col-lg-6">
|
16
|
+
<h3> Active Users </h3>
|
17
|
+
<%= render 'hubstats/tables/users-condensed' %>
|
16
18
|
<% if @user_count > 20 %>
|
17
19
|
<p class="pull-right"><%= link_to "View All", users_path %></p>
|
18
20
|
<% end %>
|
19
21
|
</div>
|
22
|
+
|
20
23
|
</div>
|
21
24
|
</div>
|
@@ -1,18 +1,25 @@
|
|
1
1
|
<div class="container" id="repo">
|
2
|
+
|
2
3
|
<div class="row">
|
3
|
-
<h1 class="title text-center"
|
4
|
-
<%= render 'hubstats/
|
4
|
+
<h1 class="title text-center"><a href=<%=@repo.html_url%>> <%= @repo.name.titleize %> </a></h1>
|
5
|
+
<%= render 'hubstats/partials/quick_stats' %>
|
5
6
|
</div>
|
7
|
+
|
6
8
|
<div class="row">
|
7
|
-
|
8
|
-
|
9
|
-
|
9
|
+
|
10
|
+
<div class="col col-lg-6">
|
11
|
+
<h3> Pull Requests</h3>
|
12
|
+
<%= render 'hubstats/tables/pulls-condensed'%>
|
13
|
+
<% if @pull_count > 20 %>
|
14
|
+
<p class="pull-right"><%= link_to "View All", pulls_path(:repos => @repo.id) %></p>
|
15
|
+
<% end %>
|
10
16
|
</div>
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
</div>
|
17
|
+
|
18
|
+
<div class="col col-lg-6">
|
19
|
+
<h3> Active Users </h3>
|
20
|
+
<%= render 'hubstats/tables/users-condensed' %>
|
16
21
|
</div>
|
22
|
+
|
17
23
|
</div>
|
24
|
+
|
18
25
|
</div>
|
@@ -1,6 +1,10 @@
|
|
1
1
|
<div class="container" id="user"%>
|
2
2
|
<div class="row"%>
|
3
3
|
<div class="col-lg-3">
|
4
|
+
<div class="form-group">
|
5
|
+
<input class="select2-control" id="repos">
|
6
|
+
</input>
|
7
|
+
</div>
|
4
8
|
<div class="form-group">
|
5
9
|
<input class="select2-control" id="users">
|
6
10
|
</input>
|
@@ -24,9 +28,9 @@
|
|
24
28
|
</label>
|
25
29
|
</div>
|
26
30
|
|
27
|
-
|
28
|
-
|
29
|
-
|
31
|
+
|
32
|
+
<%= render 'hubstats/tables/users' %>
|
33
|
+
|
30
34
|
<div class="text-center">
|
31
35
|
<%= will_paginate @users, renderer: BootstrapPagination::Rails %>
|
32
36
|
</div>
|
@@ -1,18 +1,21 @@
|
|
1
1
|
<div class="container" id="repo">
|
2
2
|
<div class="row">
|
3
|
-
<h1 class="title text-center"
|
4
|
-
<%= render 'hubstats/
|
3
|
+
<h1 class="title text-center"><a href=<%=@user.html_url%>> <%= @user.login %></a> </h1>
|
4
|
+
<%= render 'hubstats/partials/quick_stats' %>
|
5
5
|
</div>
|
6
6
|
<div class="row">
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
<% else %>
|
14
|
-
<p> No comments to show </p>
|
7
|
+
|
8
|
+
<div class="col-lg-6 col-md-5 col-sm-5 col-xs-5">
|
9
|
+
<h3> Pull Requests</h3>
|
10
|
+
<%= render 'hubstats/tables/pulls-condensed' %>
|
11
|
+
<% if @pull_count > 20 %>
|
12
|
+
<p class="pull-right"><%= link_to "View All", pulls_path(:users => @user.id) %></p>
|
15
13
|
<% end %>
|
16
14
|
</div>
|
15
|
+
|
16
|
+
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
|
17
|
+
<h3> Comments </h3>
|
18
|
+
<%= render 'hubstats/tables/comments-condensed' %>
|
19
|
+
</div>
|
17
20
|
</div>
|
18
21
|
</div>
|
data/config/routes.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
Hubstats::Engine.routes.draw do
|
2
|
-
root to: "
|
2
|
+
root to: "pull_requests#index"
|
3
3
|
|
4
4
|
post "/handler" => "events#handler", :as => "handler"
|
5
|
+
get "/metrics" => "repos#dashboard", :as => "metrics"
|
5
6
|
get "/pulls" => "pull_requests#index", :as => :pulls
|
6
7
|
get "/users" => "users#index", :as => :users
|
7
8
|
get "/repos" => "repos#index", :as => :repos
|
@@ -9,7 +10,6 @@ Hubstats::Engine.routes.draw do
|
|
9
10
|
|
10
11
|
get "/:repo" => "repos#show", :as => :repo
|
11
12
|
scope "/:repo", :as => :repo do
|
12
|
-
get '/pulls' => "pull_requests#repo_index", :as => :pulls
|
13
13
|
get '/pull/:id' => "pull_requests#show", :as => :pull
|
14
14
|
end
|
15
15
|
|
@@ -29,9 +29,7 @@ module Hubstats
|
|
29
29
|
comment[:repo_id] = payload[:repository][:id]
|
30
30
|
comment[:pull_number] = get_pull_number(payload)
|
31
31
|
|
32
|
-
|
33
|
-
update_labels_from_comment(payload) if (kind == "Issue")
|
34
|
-
comment
|
32
|
+
Hubstats::Comment.create_or_update(comment.with_indifferent_access)
|
35
33
|
end
|
36
34
|
|
37
35
|
#grabs the number off of anyone of the various places it can be
|
@@ -47,13 +45,5 @@ module Hubstats
|
|
47
45
|
end
|
48
46
|
end
|
49
47
|
|
50
|
-
def update_labels_from_comment(payload)
|
51
|
-
repo_id = payload[:repository][:id]
|
52
|
-
number = payload[:issue][:number]
|
53
|
-
labels = payload[:issue][:labels]
|
54
|
-
pull = Hubstats::PullRequest.belonging_to_repo(repo_id).where(number: number).first
|
55
|
-
pull.add_labels(labels)
|
56
|
-
end
|
57
|
-
|
58
48
|
end
|
59
49
|
end
|
data/lib/hubstats/version.rb
CHANGED
data/test/dummy/config/routes.rb
CHANGED
Binary file
|
data/test/dummy/log/test.log
CHANGED
@@ -19710,3 +19710,36 @@ Connecting to database specified by database.yml
|
|
19710
19710
|
[1m[36mHubstats::User Exists (0.1ms)[0m [1mSELECT 1 AS one FROM `hubstats_users` WHERE (`hubstats_users`.`id` = BINARY 10 AND `hubstats_users`.`id` != 10) LIMIT 1[0m
|
19711
19711
|
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
19712
19712
|
[1m[36m (0.4ms)[0m [1mROLLBACK[0m
|
19713
|
+
Connecting to database specified by database.yml
|
19714
|
+
[1m[36m (0.0ms)[0m [1mBEGIN[0m
|
19715
|
+
Mysql2::Error: Table 'hubstats_test.hubstats_users' doesn't exist: SHOW FULL FIELDS FROM `hubstats_users`
|
19716
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19717
|
+
[1m[36m (0.0ms)[0m [1mBEGIN[0m
|
19718
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19719
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19720
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
19721
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19722
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19723
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19724
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19725
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19726
|
+
Mysql2::Error: Table 'hubstats_test.hubstats_users' doesn't exist: SHOW FULL FIELDS FROM `hubstats_users`
|
19727
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19728
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19729
|
+
Mysql2::Error: Table 'hubstats_test.hubstats_users' doesn't exist: SHOW FULL FIELDS FROM `hubstats_users`
|
19730
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19731
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19732
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19733
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19734
|
+
Mysql2::Error: Table 'hubstats_test.hubstats_users' doesn't exist: SHOW FULL FIELDS FROM `hubstats_users`
|
19735
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19736
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19737
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19738
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19739
|
+
Mysql2::Error: Table 'hubstats_test.hubstats_pull_requests' doesn't exist: SHOW FULL FIELDS FROM `hubstats_pull_requests`
|
19740
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19741
|
+
[1m[36m (0.0ms)[0m [1mBEGIN[0m
|
19742
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
19743
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
19744
|
+
Mysql2::Error: Table 'hubstats_test.hubstats_repos' doesn't exist: SHOW FULL FIELDS FROM `hubstats_repos`
|
19745
|
+
[1m[35m (0.1ms)[0m ROLLBACK
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hubstats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elliot Hursh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -166,21 +166,28 @@ files:
|
|
166
166
|
- app/models/hubstats/pull_request.rb
|
167
167
|
- app/models/hubstats/repo.rb
|
168
168
|
- app/models/hubstats/user.rb
|
169
|
-
- app/views/hubstats/
|
170
|
-
- app/views/hubstats/metrics/_pulls_table.html.erb
|
171
|
-
- app/views/hubstats/metrics/_quick_stats.html.erb
|
172
|
-
- app/views/hubstats/metrics/_repos_table.html.erb
|
173
|
-
- app/views/hubstats/metrics/_users_table.html.erb
|
169
|
+
- app/views/hubstats/partials/_comment-condensed.html.erb
|
174
170
|
- app/views/hubstats/partials/_comment.html.erb
|
175
171
|
- app/views/hubstats/partials/_header.html.erb
|
172
|
+
- app/views/hubstats/partials/_pull-condensed.html.erb
|
176
173
|
- app/views/hubstats/partials/_pull.html.erb
|
174
|
+
- app/views/hubstats/partials/_quick_stats.html.erb
|
175
|
+
- app/views/hubstats/partials/_repo.html.erb
|
176
|
+
- app/views/hubstats/partials/_user-condensed.html.erb
|
177
177
|
- app/views/hubstats/partials/_user.html.erb
|
178
178
|
- app/views/hubstats/pull_requests/index.html.erb
|
179
|
-
- app/views/hubstats/pull_requests/repo_index.html.erb
|
180
179
|
- app/views/hubstats/pull_requests/show.html.erb
|
181
180
|
- app/views/hubstats/repos/dashboard.html.erb
|
182
181
|
- app/views/hubstats/repos/index.html.erb
|
183
182
|
- app/views/hubstats/repos/show.html.erb
|
183
|
+
- app/views/hubstats/tables/_comments-condensed.html.erb
|
184
|
+
- app/views/hubstats/tables/_comments.html.erb
|
185
|
+
- app/views/hubstats/tables/_pulls-condensed.html.erb
|
186
|
+
- app/views/hubstats/tables/_pulls.html.erb
|
187
|
+
- app/views/hubstats/tables/_repos-condensed.html.erb
|
188
|
+
- app/views/hubstats/tables/_repos.html.erb
|
189
|
+
- app/views/hubstats/tables/_users-condensed.html.erb
|
190
|
+
- app/views/hubstats/tables/_users.html.erb
|
184
191
|
- app/views/hubstats/users/index.html.erb
|
185
192
|
- app/views/hubstats/users/show.html.erb
|
186
193
|
- app/views/layouts/hubstats/application.html.erb
|
@@ -313,7 +320,6 @@ files:
|
|
313
320
|
- test/dummy/tmp/cache/assets/E30/D10/sprockets%2F5be1e5ad45bde1dbd7fb9f8d720277ea
|
314
321
|
- test/dummy/tmp/cache/assets/E41/A20/sprockets%2F23cef5db9fa9d95cf84a2c688b5fe6ab
|
315
322
|
- test/dummy/tmp/cache/assets/E4E/EF0/sprockets%2F5783afe3d038c6cdce49c1cbdaa12acb
|
316
|
-
- test/dummy/tmp/pids/server.pid
|
317
323
|
- test/functional/hubstats/splash_controller_test.rb
|
318
324
|
- test/hubstats_test.rb
|
319
325
|
- test/integration/navigation_test.rb
|
@@ -454,7 +460,6 @@ test_files:
|
|
454
460
|
- test/dummy/tmp/cache/assets/E30/D10/sprockets%2F5be1e5ad45bde1dbd7fb9f8d720277ea
|
455
461
|
- test/dummy/tmp/cache/assets/E41/A20/sprockets%2F23cef5db9fa9d95cf84a2c688b5fe6ab
|
456
462
|
- test/dummy/tmp/cache/assets/E4E/EF0/sprockets%2F5783afe3d038c6cdce49c1cbdaa12acb
|
457
|
-
- test/dummy/tmp/pids/server.pid
|
458
463
|
- test/functional/hubstats/splash_controller_test.rb
|
459
464
|
- test/hubstats_test.rb
|
460
465
|
- test/integration/navigation_test.rb
|
@@ -1,10 +0,0 @@
|
|
1
|
-
<div class="row">
|
2
|
-
<h4> Comments </h4>
|
3
|
-
<% if @comments.length > 0 %>
|
4
|
-
<div class="comments">
|
5
|
-
<%= render partial: 'hubstats/partials/comment', collection: @comments, as: :comment %>
|
6
|
-
</div>
|
7
|
-
<% else %>
|
8
|
-
<p> No comments to show </p>
|
9
|
-
<% end %>
|
10
|
-
</div>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<table class="table">
|
2
|
-
<tr>
|
3
|
-
<th>Pull Request</th>
|
4
|
-
<th>User</th>
|
5
|
-
<th>Closed</th>
|
6
|
-
</tr>
|
7
|
-
<% @pull_requests.each do |pull| %>
|
8
|
-
<tr>
|
9
|
-
<td><%= link_to pull.title, repo_pull_path({:repo => @repo.name, :id => pull.id}) %></td>
|
10
|
-
<td><%= pull.user.login %></td>
|
11
|
-
<td><%= distance_of_time_in_words(DateTime.now,pull.closed_at) %> ago</td>
|
12
|
-
</tr>
|
13
|
-
<% end %>
|
14
|
-
</table>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<table class="table">
|
2
|
-
<tr>
|
3
|
-
<th> User </th>
|
4
|
-
<th class="title"> Pull Requests </th>
|
5
|
-
<th class="title"> Comments </th>
|
6
|
-
</tr>
|
7
|
-
<% @users.each do |user| %>
|
8
|
-
<tr>
|
9
|
-
<td><%= link_to user.login, user_path(user) %> </td>
|
10
|
-
<td class="numeric"><%= user.pull_request_count %> </td>
|
11
|
-
<td class="numeric"><%= user.comment_count %></td>
|
12
|
-
</tr>
|
13
|
-
<% end %>
|
14
|
-
</table>
|
@@ -1 +0,0 @@
|
|
1
|
-
48351
|