hubstats 0.3.13 → 0.3.14
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 +5 -0
- data/Gemfile +1 -0
- data/app/assets/javascripts/hubstats/application.js +3 -4
- data/app/assets/stylesheets/hubstats/application.css +1 -1
- data/app/controllers/hubstats/application_controller.rb +2 -1
- data/app/controllers/hubstats/deploys_controller.rb +1 -1
- data/app/controllers/hubstats/pull_requests_controller.rb +5 -4
- data/app/controllers/hubstats/repos_controller.rb +23 -23
- data/app/controllers/hubstats/users_controller.rb +10 -10
- data/app/models/hubstats/comment.rb +1 -1
- data/app/models/hubstats/deploy.rb +4 -5
- data/app/models/hubstats/label.rb +1 -1
- data/app/models/hubstats/pull_request.rb +14 -14
- data/app/models/hubstats/repo.rb +20 -19
- data/app/models/hubstats/user.rb +37 -34
- data/app/views/hubstats/partials/_header.html.erb +4 -2
- data/app/views/layouts/hubstats/application.html.erb +1 -0
- data/date_range +0 -0
- data/hubstats.gemspec +1 -0
- data/lib/hubstats.rb +1 -1
- data/lib/hubstats/version.rb +1 -1
- data/spec/controllers/hubstats/deploys_controller_spec.rb +1 -1
- data/spec/controllers/hubstats/pull_requests_controller_spec.rb +4 -3
- data/spec/controllers/hubstats/repos_controller_spec.rb +9 -4
- data/spec/models/hubstats/deploy_spec.rb +6 -6
- data/spec/spec_helper.rb +1 -1
- data/test/test_helper.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MTU5NGI4YWFlZjBjMTUzOTEwMjk3NDExMDU4OTk2MjM3OTQ4NmYzMQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NTFmYjkwNjdmMmU5MDUwYjA3MmI1ZDA4OTNkMTJjZTgyNGEyMGMzOA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MjIxMjNmMmJlNmRhNGZkZWZjZDc5MDI4ZjlkZTMwMmU5MzllYjE3YmZjNGM1
|
10
|
+
MWZhMDBjN2U1NWE5MDk0OGZhOTk1NDJmZGY3OTA5ZDQ1MDEyNzQwMTM5YWFi
|
11
|
+
OWIyMDQzNGIwNGExZDJjZmZhNmQxNjA2NDY5MDY3NzI3ZWVhOWU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NWEzNGI2NWRlNThlMzBkMGNjM2M5MTYwMWNjMTMxMGQwYmI0MWY3ZjZiMGM0
|
14
|
+
ZjQwOTY4YmFkMDJmZTZhMzg1ZjFlMTM3NWNhOWQyZDBiZjI4NjcxN2NkYmY5
|
15
|
+
ODZhYTQzZTViNjMxMTlhZDExYWJjYWQ3MTVmMTBiODUyYTQ1NjU=
|
data/CHANGELOG.markdown
CHANGED
data/Gemfile
CHANGED
@@ -8,6 +8,7 @@ gemspec
|
|
8
8
|
# jquery-rails is used by the dummy application
|
9
9
|
gem "jquery-rails"
|
10
10
|
gem "mysql2"
|
11
|
+
gem "bootstrap-datepicker-rails"
|
11
12
|
# Declare any dependencies that are still in development here instead of in
|
12
13
|
# your gemspec. These might include edge Rails or gems from your path or
|
13
14
|
# Git. Remember to move these dependencies to your gemspec before releasing
|
@@ -14,21 +14,20 @@
|
|
14
14
|
//= require jquery_ujs
|
15
15
|
//= require select2
|
16
16
|
//= require hubstats/bootstrap
|
17
|
+
//= require bootstrap-datepicker
|
17
18
|
//= require_tree .
|
18
19
|
|
19
|
-
|
20
20
|
$(document).ready( function() {
|
21
|
-
|
21
|
+
setDateRange()
|
22
22
|
});
|
23
23
|
|
24
|
-
function
|
24
|
+
function setDateRange() {
|
25
25
|
var index = readCookie("hubstats_index") || 2;
|
26
26
|
var timer = document.getElementById("time-select");
|
27
27
|
|
28
28
|
timer.selectedIndex = index;
|
29
29
|
|
30
30
|
timer.onchange = function() {
|
31
|
-
|
32
31
|
createCookie("hubstats_index",this.selectedIndex,1);
|
33
32
|
window.location.reload();
|
34
33
|
};
|
@@ -6,7 +6,8 @@ module Hubstats
|
|
6
6
|
private
|
7
7
|
def set_time
|
8
8
|
cookies[:hubstats_index] ||= 2
|
9
|
-
@
|
9
|
+
@start_date = DATE_RANGE_ARRAY[cookies[:hubstats_index].to_i][:date].ago.to_date
|
10
|
+
@end_date = Date.today
|
10
11
|
end
|
11
12
|
end
|
12
13
|
end
|
@@ -8,7 +8,7 @@ module Hubstats
|
|
8
8
|
@deploys = Hubstats::Deploy.includes(:repo, :pull_requests, :user)
|
9
9
|
.belonging_to_users(params[:users]).belonging_to_repos(params[:repos])
|
10
10
|
.group_by(params[:group])
|
11
|
-
.
|
11
|
+
.order_with_date_range(@start_date, @end_date, params[:order])
|
12
12
|
.paginate(:page => params[:page], :per_page => 15)
|
13
13
|
|
14
14
|
grouping(params[:group], @deploys)
|
@@ -6,13 +6,13 @@ module Hubstats
|
|
6
6
|
def index
|
7
7
|
URI.decode(params[:label]) if params[:label]
|
8
8
|
|
9
|
-
pull_requests = PullRequest.all_filtered(params, @
|
9
|
+
pull_requests = PullRequest.all_filtered(params, @start_date, @end_date)
|
10
10
|
@labels = Hubstats::Label.count_by_pull_requests(pull_requests).order("pull_request_count DESC")
|
11
11
|
|
12
12
|
@pull_requests = Hubstats::PullRequest.includes(:user, :repo)
|
13
13
|
.belonging_to_users(params[:users]).belonging_to_repos(params[:repos])
|
14
14
|
.group_by(params[:group]).with_label(params[:label])
|
15
|
-
.state_based_order(@
|
15
|
+
.state_based_order(@start_date, @end_date, params[:state], params[:order])
|
16
16
|
.paginate(:page => params[:page], :per_page => 15)
|
17
17
|
|
18
18
|
grouping(params[:group], @pull_requests)
|
@@ -21,9 +21,10 @@ module Hubstats
|
|
21
21
|
def show
|
22
22
|
@repo = Hubstats::Repo.where(name: params[:repo]).first
|
23
23
|
@pull_request = Hubstats::PullRequest.belonging_to_repo(@repo.id).where(id: params[:id]).first
|
24
|
-
@comments = Hubstats::Comment.belonging_to_pull_request(params[:id]).
|
25
|
-
comment_count = Hubstats::Comment.belonging_to_pull_request(params[:id]).
|
24
|
+
@comments = Hubstats::Comment.belonging_to_pull_request(params[:id]).created_in_date_range(@start_date, @end_date).limit(20)
|
25
|
+
comment_count = Hubstats::Comment.belonging_to_pull_request(params[:id]).created_in_date_range(@start_date, @end_date).count(:all)
|
26
26
|
@deploys = Hubstats::Deploy.where(id: @pull_request.deploy_id).order("deployed_at DESC")
|
27
|
+
|
27
28
|
@stats_basics = {
|
28
29
|
comment_count: comment_count,
|
29
30
|
net_additions: @pull_request.additions.to_i - @pull_request.deletions.to_i,
|
@@ -4,12 +4,12 @@ module Hubstats
|
|
4
4
|
class ReposController < ApplicationController
|
5
5
|
|
6
6
|
def index
|
7
|
-
if params[:query]
|
7
|
+
if params[:query] ## For select 2
|
8
8
|
@repos = Hubstats::Repo.where("name LIKE ?", "%#{params[:query]}%").order("name ASC")
|
9
9
|
elsif params[:id]
|
10
10
|
@repos = Hubstats::Repo.where(id: params[:id].split(",")).order("name ASC")
|
11
11
|
else
|
12
|
-
@repos = Hubstats::Repo.with_recent_activity(@
|
12
|
+
@repos = Hubstats::Repo.with_recent_activity(@start_date, @end_date)
|
13
13
|
end
|
14
14
|
|
15
15
|
respond_to do |format|
|
@@ -19,40 +19,40 @@ module Hubstats
|
|
19
19
|
|
20
20
|
def show
|
21
21
|
@repo = Hubstats::Repo.where(name: params[:repo]).first
|
22
|
-
@pull_requests = Hubstats::PullRequest.belonging_to_repo(@repo.id).
|
23
|
-
@pull_count = Hubstats::PullRequest.belonging_to_repo(@repo.id).
|
24
|
-
@deploys = Hubstats::Deploy.belonging_to_repo(@repo.id).
|
25
|
-
@deploy_count = Hubstats::Deploy.belonging_to_repo(@repo.id).
|
26
|
-
@comment_count = Hubstats::Comment.belonging_to_repo(@repo.id).
|
27
|
-
@user_count = Hubstats::User.with_pulls_or_comments(@
|
28
|
-
@net_additions = Hubstats::PullRequest.
|
29
|
-
Hubstats::PullRequest.
|
30
|
-
@additions = Hubstats::PullRequest.
|
31
|
-
@deletions = Hubstats::PullRequest.
|
32
|
-
|
22
|
+
@pull_requests = Hubstats::PullRequest.belonging_to_repo(@repo.id).merged_in_date_range(@start_date, @end_date).order("updated_at DESC").limit(20)
|
23
|
+
@pull_count = Hubstats::PullRequest.belonging_to_repo(@repo.id).merged_in_date_range(@start_date, @end_date).count(:all)
|
24
|
+
@deploys = Hubstats::Deploy.belonging_to_repo(@repo.id).deployed_in_date_range(@start_date, @end_date).order("deployed_at DESC").limit(20)
|
25
|
+
@deploy_count = Hubstats::Deploy.belonging_to_repo(@repo.id).deployed_in_date_range(@start_date, @end_date).count(:all)
|
26
|
+
@comment_count = Hubstats::Comment.belonging_to_repo(@repo.id).created_in_date_range(@start_date, @end_date).count(:all)
|
27
|
+
@user_count = Hubstats::User.with_pulls_or_comments(@start_date, @end_date, @repo.id).only_active.length
|
28
|
+
@net_additions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).belonging_to_repo(@repo.id).sum(:additions).to_i -
|
29
|
+
Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).belonging_to_repo(@repo.id).sum(:deletions).to_i
|
30
|
+
@additions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).belonging_to_repo(@repo.id).average(:additions)
|
31
|
+
@deletions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).belonging_to_repo(@repo.id).average(:deletions)
|
32
|
+
|
33
33
|
stats
|
34
34
|
end
|
35
35
|
|
36
36
|
def dashboard
|
37
|
-
if params[:query] ## For select 2
|
37
|
+
if params[:query] ## For select 2
|
38
38
|
@repos = Hubstats::Repo.where("name LIKE ?", "%#{params[:query]}%").order("name ASC")
|
39
39
|
elsif params[:id]
|
40
40
|
@repos = Hubstats::Repo.where(id: params[:id].split(",")).order("name ASC")
|
41
41
|
else
|
42
|
-
@repos = Hubstats::Repo.with_all_metrics(@
|
42
|
+
@repos = Hubstats::Repo.with_all_metrics(@start_date, @end_date)
|
43
43
|
.with_id(params[:repos])
|
44
44
|
.custom_order(params[:order])
|
45
45
|
.paginate(:page => params[:page], :per_page => 15)
|
46
46
|
end
|
47
47
|
|
48
|
-
@user_count = Hubstats::User.with_pulls_or_comments(@
|
49
|
-
@deploy_count = Hubstats::Deploy.
|
50
|
-
@pull_count = Hubstats::PullRequest.
|
51
|
-
@comment_count = Hubstats::Comment.
|
52
|
-
@net_additions = Hubstats::PullRequest.
|
53
|
-
Hubstats::PullRequest.
|
54
|
-
@additions = Hubstats::PullRequest.
|
55
|
-
@deletions = Hubstats::PullRequest.
|
48
|
+
@user_count = Hubstats::User.with_pulls_or_comments(@start_date, @end_date).only_active.length
|
49
|
+
@deploy_count = Hubstats::Deploy.deployed_in_date_range(@start_date, @end_date).count(:all)
|
50
|
+
@pull_count = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).count(:all)
|
51
|
+
@comment_count = Hubstats::Comment.created_in_date_range(@start_date, @end_date).count(:all)
|
52
|
+
@net_additions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).sum(:additions).to_i -
|
53
|
+
Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).sum(:deletions).to_i
|
54
|
+
@additions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).average(:additions)
|
55
|
+
@deletions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).average(:deletions)
|
56
56
|
|
57
57
|
stats
|
58
58
|
|
@@ -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.only_active.with_all_metrics(@
|
12
|
+
@users = Hubstats::User.only_active.with_all_metrics(@start_date, @end_date)
|
13
13
|
.with_id(params[:users])
|
14
14
|
.custom_order(params[:order])
|
15
15
|
.paginate(:page => params[:page], :per_page => 15)
|
@@ -23,15 +23,15 @@ module Hubstats
|
|
23
23
|
|
24
24
|
def show
|
25
25
|
@user = Hubstats::User.where(login: params[:id]).first
|
26
|
-
@pull_requests = Hubstats::PullRequest.belonging_to_user(@user.id).
|
27
|
-
@pull_count = Hubstats::PullRequest.belonging_to_user(@user.id).
|
28
|
-
@deploys = Hubstats::Deploy.belonging_to_user(@user.id).
|
29
|
-
@deploy_count = Hubstats::Deploy.belonging_to_user(@user.id).
|
30
|
-
@comment_count = Hubstats::Comment.belonging_to_user(@user.id).
|
31
|
-
@net_additions = Hubstats::PullRequest.
|
32
|
-
Hubstats::PullRequest.
|
33
|
-
@additions = Hubstats::PullRequest.
|
34
|
-
@deletions = Hubstats::PullRequest.
|
26
|
+
@pull_requests = Hubstats::PullRequest.belonging_to_user(@user.id).merged_in_date_range(@start_date, @end_date).order("updated_at DESC").limit(20)
|
27
|
+
@pull_count = Hubstats::PullRequest.belonging_to_user(@user.id).merged_in_date_range(@start_date, @end_date).count(:all)
|
28
|
+
@deploys = Hubstats::Deploy.belonging_to_user(@user.id).deployed_in_date_range(@start_date, @end_date).order("deployed_at DESC").limit(20)
|
29
|
+
@deploy_count = Hubstats::Deploy.belonging_to_user(@user.id).deployed_in_date_range(@start_date, @end_date).count(:all)
|
30
|
+
@comment_count = Hubstats::Comment.belonging_to_user(@user.id).created_in_date_range(@start_date, @end_date).count(:all)
|
31
|
+
@net_additions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).belonging_to_user(@user.id).sum(:additions).to_i -
|
32
|
+
Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).belonging_to_user(@user.id).sum(:deletions).to_i
|
33
|
+
@additions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).belonging_to_user(@user.id).average(:additions)
|
34
|
+
@deletions = Hubstats::PullRequest.merged_in_date_range(@start_date, @end_date).belonging_to_user(@user.id).average(:deletions)
|
35
35
|
|
36
36
|
stats
|
37
37
|
end
|
@@ -8,7 +8,7 @@ module Hubstats
|
|
8
8
|
.group("hubstats_comments.user_id")
|
9
9
|
}
|
10
10
|
|
11
|
-
scope :
|
11
|
+
scope :created_in_date_range, lambda {|start_date, end_date| where("hubstats_comments.created_at BETWEEN ? AND ?", start_date, end_date)}
|
12
12
|
scope :belonging_to_pull_request, lambda {|pull_request_id| where(pull_request_id: pull_request_id)}
|
13
13
|
scope :belonging_to_user, lambda {|user_id| where(user_id: user_id)}
|
14
14
|
scope :belonging_to_repo, lambda {|repo_id| where(repo_id: repo_id)}
|
@@ -8,13 +8,12 @@ module Hubstats
|
|
8
8
|
self.deployed_at = Time.now.getutc if deployed_at.nil?
|
9
9
|
end
|
10
10
|
|
11
|
-
scope :
|
11
|
+
scope :deployed_in_date_range, lambda {|start_date, end_date| where("hubstats_deploys.deployed_at BETWEEN ? AND ?", start_date, end_date)}
|
12
12
|
scope :group, lambda {|group| group_by(:repo_id) if group }
|
13
13
|
scope :belonging_to_repo, lambda {|repo_id| where(repo_id: repo_id)}
|
14
14
|
scope :belonging_to_user, lambda {|user_id| where(user_id: user_id)}
|
15
15
|
scope :belonging_to_repos, lambda {|repo_id| where(repo_id: repo_id.split(',')) if repo_id}
|
16
16
|
scope :belonging_to_users, lambda {|user_id| where(user_id: user_id.split(',')) if user_id}
|
17
|
-
scope :order_with_timespan
|
18
17
|
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
18
|
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
19
|
|
@@ -24,10 +23,10 @@ module Hubstats
|
|
24
23
|
belongs_to :repo
|
25
24
|
has_many :pull_requests
|
26
25
|
|
27
|
-
# Order the data in a given
|
28
|
-
def self.
|
26
|
+
# Order the data in a given date range in a given order
|
27
|
+
def self.order_with_date_range(start_date, end_date, order)
|
29
28
|
order = ["ASC", "DESC"].detect{|order_type| order_type.to_s == order.to_s.upcase } || "DESC"
|
30
|
-
|
29
|
+
deployed_in_date_range(start_date, end_date).order("hubstats_deploys.deployed_at #{order}")
|
31
30
|
end
|
32
31
|
|
33
32
|
# Sorts based on whether data is being grouped by user or repo
|
@@ -10,7 +10,7 @@ module Hubstats
|
|
10
10
|
.order("pull_request_count DESC")
|
11
11
|
end
|
12
12
|
|
13
|
-
scope :with_ids, lambda {
|
13
|
+
scope :with_ids, lambda {|pull_ids| (where("hubstats_labels_pull_requests.pull_request_id" => pull_ids))}
|
14
14
|
|
15
15
|
scope :with_state, lambda {|state| (where(state: state) unless state == 'all') if state}
|
16
16
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module Hubstats
|
2
2
|
class PullRequest < ActiveRecord::Base
|
3
|
-
scope :
|
4
|
-
scope :
|
5
|
-
scope :
|
6
|
-
scope :
|
3
|
+
scope :closed_in_date_range, lambda {|start_date, end_date| where("hubstats_pull_requests.closed_at BETWEEN ? AND ?", start_date, end_date)}
|
4
|
+
scope :updated_in_date_range, lambda {|start_date, end_date| where("hubstats_pull_requests.updated_at BETWEEN ? AND ?", start_date, end_date)}
|
5
|
+
scope :created_in_date_range, lambda {|start_date, end_date| where("hubstats_pull_requests.created_at BETWEEN ? AND ?", start_date, end_date)}
|
6
|
+
scope :merged_in_date_range, lambda {|start_date, end_date| where("hubstats_pull_requests.merged").where("hubstats_pull_requests.merged_at BETWEEN ? AND ?", start_date, end_date)}
|
7
7
|
scope :belonging_to_repo, lambda {|repo_id| where(repo_id: repo_id)}
|
8
8
|
scope :belonging_to_user, lambda {|user_id| where(user_id: user_id)}
|
9
9
|
scope :belonging_to_deploy, lambda {|deploy_id| where(deploy_id: deploy_id)}
|
@@ -11,12 +11,12 @@ module Hubstats
|
|
11
11
|
scope :belonging_to_users, lambda {|user_id| where(user_id: user_id.split(',')) if user_id}
|
12
12
|
scope :group, lambda {|group| group_by(:repo_id) if group }
|
13
13
|
scope :with_state, lambda {|state| (where(state: state) unless state == 'all') if state}
|
14
|
-
scope :with_label, lambda {
|
14
|
+
scope :with_label, lambda {|label_name| joins(:labels).where(hubstats_labels: {name: label_name.split(',')}) if label_name}
|
15
15
|
scope :distinct, select("DISTINCT hubstats_pull_requests.*")
|
16
16
|
scope :with_repo_name, select('DISTINCT hubstats_repos.name as repo_name, hubstats_pull_requests.*').joins("LEFT JOIN hubstats_repos ON hubstats_repos.id = hubstats_pull_requests.repo_id")
|
17
17
|
scope :with_user_name, select('DISTINCT hubstats_users.login as user_name, hubstats_pull_requests.*').joins("LEFT JOIN hubstats_users ON hubstats_users.id = hubstats_pull_requests.user_id")
|
18
18
|
|
19
|
-
|
19
|
+
attr_accessible :id, :url, :html_url, :diff_url, :patch_url, :issue_url, :commits_url,
|
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,
|
@@ -56,26 +56,26 @@ module Hubstats
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def add_labels(labels)
|
59
|
-
labels.map!{
|
59
|
+
labels.map!{|label| Hubstats::Label.first_or_create(label) }
|
60
60
|
self.labels = labels
|
61
61
|
end
|
62
62
|
|
63
|
-
def self.all_filtered(params,
|
64
|
-
|
63
|
+
def self.all_filtered(params, start_date, end_date)
|
64
|
+
filter_based_on_date_range(start_date, end_date, params[:state])
|
65
65
|
.belonging_to_users(params[:users])
|
66
66
|
.belonging_to_repos(params[:repos])
|
67
67
|
end
|
68
68
|
|
69
|
-
def self.
|
70
|
-
with_state(state).
|
69
|
+
def self.filter_based_on_date_range(start_date, end_date, state)
|
70
|
+
with_state(state).updated_in_date_range(start_date, end_date)
|
71
71
|
end
|
72
72
|
|
73
|
-
def self.state_based_order(
|
73
|
+
def self.state_based_order(start_date, end_date, state, order)
|
74
74
|
order = ["ASC","DESC"].detect{|order_type| order_type.to_s == order.to_s.upcase } || "DESC"
|
75
75
|
if state == "closed"
|
76
|
-
with_state(state).
|
76
|
+
with_state(state).updated_in_date_range(start_date, end_date).order("hubstats_pull_requests.closed_at #{order}")
|
77
77
|
else #state == "open"
|
78
|
-
with_state(state).
|
78
|
+
with_state(state).updated_in_date_range(start_date, end_date).order("hubstats_pull_requests.created_at #{order}")
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
data/app/models/hubstats/repo.rb
CHANGED
@@ -1,32 +1,32 @@
|
|
1
1
|
module Hubstats
|
2
2
|
class Repo < ActiveRecord::Base
|
3
3
|
|
4
|
-
scope :with_recent_activity, lambda {|
|
5
|
-
scope :with_id, lambda {|
|
4
|
+
scope :with_recent_activity, lambda {|start_date, end_date| where("hubstats_repos.updated_at BETWEEN ? AND ?", start_date, end_date).order("updated_at DESC")}
|
5
|
+
scope :with_id, lambda {|repo_id| where(id: repo_id.split(',')) if repo_id}
|
6
6
|
|
7
|
-
scope :
|
7
|
+
scope :deploys_count, lambda {|start_date, end_date|
|
8
8
|
select("hubstats_repos.id as repo_id")
|
9
|
-
.select("IFNULL(COUNT(DISTINCT
|
10
|
-
.joins("LEFT JOIN
|
9
|
+
.select("IFNULL(COUNT(DISTINCT hubstats_deploys.id),0) AS deploy_count")
|
10
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_deploys ON hubstats_deploys.repo_id = hubstats_repos.id AND (hubstats_deploys.deployed_at BETWEEN ? AND ?)", start_date, end_date]))
|
11
11
|
.group("hubstats_repos.id")
|
12
12
|
}
|
13
13
|
|
14
|
-
scope :
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
deploys_or_comments_count(time, "hubstats_comments", "created_at", "comment")
|
14
|
+
scope :comments_count, lambda {|start_date, end_date|
|
15
|
+
select("hubstats_repos.id as repo_id")
|
16
|
+
.select("IFNULL(COUNT(DISTINCT hubstats_comments.id),0) AS comment_count")
|
17
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_comments ON hubstats_comments.repo_id = hubstats_repos.id AND (hubstats_comments.created_at BETWEEN ? AND ?)", start_date, end_date]))
|
18
|
+
.group("hubstats_repos.id")
|
20
19
|
}
|
21
20
|
|
22
|
-
scope :pull_requests_count, lambda {|
|
21
|
+
scope :pull_requests_count, lambda {|start_date, end_date|
|
23
22
|
select("hubstats_repos.id as repo_id")
|
24
23
|
.select("IFNULL(COUNT(DISTINCT hubstats_pull_requests.id),0) AS pull_request_count")
|
25
|
-
.joins("LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.repo_id = hubstats_repos.id AND hubstats_pull_requests.merged_at
|
24
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.repo_id = hubstats_repos.id AND (hubstats_pull_requests.merged_at BETWEEN ? AND ?)", start_date, end_date]))
|
25
|
+
.where("hubstats_pull_requests.merged = '1'")
|
26
26
|
.group("hubstats_repos.id")
|
27
27
|
}
|
28
28
|
|
29
|
-
scope :averages, lambda { |
|
29
|
+
scope :averages, lambda {|start_date, end_date|
|
30
30
|
select("hubstats_repos.id as repo_id")
|
31
31
|
.select("ROUND(IFNULL(AVG(hubstats_pull_requests.additions),0)) AS average_additions")
|
32
32
|
.select("ROUND(IFNULL(AVG(hubstats_pull_requests.deletions),0)) AS average_deletions")
|
@@ -34,12 +34,12 @@ module Hubstats
|
|
34
34
|
.group("hubstats_repos.id")
|
35
35
|
}
|
36
36
|
|
37
|
-
scope :with_all_metrics, lambda { |
|
37
|
+
scope :with_all_metrics, lambda {|start_date, end_date|
|
38
38
|
select("hubstats_repos.*, deploy_count, pull_request_count, comment_count, average_additions, average_deletions")
|
39
|
-
.joins("LEFT JOIN (#{averages(
|
40
|
-
.joins("LEFT JOIN (#{pull_requests_count(
|
41
|
-
.joins("LEFT JOIN (#{comments_count(
|
42
|
-
.joins("LEFT JOIN (#{deploys_count(
|
39
|
+
.joins("LEFT JOIN (#{averages(start_date, end_date).to_sql}) AS averages ON averages.repo_id = hubstats_repos.id")
|
40
|
+
.joins("LEFT JOIN (#{pull_requests_count(start_date, end_date).to_sql}) AS pull_requests ON pull_requests.repo_id = hubstats_repos.id")
|
41
|
+
.joins("LEFT JOIN (#{comments_count(start_date, end_date).to_sql}) AS comments ON comments.repo_id = hubstats_repos.id")
|
42
|
+
.joins("LEFT JOIN (#{deploys_count(start_date, end_date).to_sql}) AS deploys ON deploys.repo_id = hubstats_repos.id")
|
43
43
|
.group("hubstats_repos.id")
|
44
44
|
}
|
45
45
|
|
@@ -53,6 +53,7 @@ module Hubstats
|
|
53
53
|
|
54
54
|
has_many :pull_requests
|
55
55
|
has_many :deploys
|
56
|
+
has_many :comments
|
56
57
|
belongs_to :owner, :class_name => "User", :foreign_key => "id"
|
57
58
|
|
58
59
|
def self.create_or_update(github_repo)
|
data/app/models/hubstats/user.rb
CHANGED
@@ -3,78 +3,81 @@ module Hubstats
|
|
3
3
|
|
4
4
|
scope :with_id, lambda {|user_id| where(id: user_id.split(',')) if user_id}
|
5
5
|
|
6
|
-
scope :
|
6
|
+
scope :deploys_count, lambda {|start_date, end_date|
|
7
7
|
select("hubstats_users.id as user_id")
|
8
|
-
.select("IFNULL(COUNT(DISTINCT
|
9
|
-
.joins("LEFT JOIN
|
8
|
+
.select("IFNULL(COUNT(DISTINCT hubstats_deploys.id),0) AS deploy_count")
|
9
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_deploys ON hubstats_deploys.user_id = hubstats_users.id AND (hubstats_deploys.deployed_at BETWEEN ? AND ?)", start_date, end_date]))
|
10
10
|
.group("hubstats_users.id")
|
11
11
|
}
|
12
12
|
|
13
|
-
scope :
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
deploys_or_comments_count(time, "hubstats_comments", "created_at", "comment")
|
13
|
+
scope :comments_count, lambda {|start_date, end_date|
|
14
|
+
select("hubstats_users.id as user_id")
|
15
|
+
.select("IFNULL(COUNT(DISTINCT hubstats_comments.id),0) AS comment_count")
|
16
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_comments ON hubstats_comments.user_id = hubstats_users.id AND (hubstats_comments.created_at BETWEEN ? AND ?)", start_date, end_date]))
|
17
|
+
.group("hubstats_users.id")
|
19
18
|
}
|
20
19
|
|
21
|
-
scope :pull_requests_count, lambda {|
|
20
|
+
scope :pull_requests_count, lambda {|start_date, end_date|
|
22
21
|
select("hubstats_users.id as user_id")
|
23
22
|
.select("IFNULL(COUNT(DISTINCT hubstats_pull_requests.id),0) AS pull_request_count")
|
24
|
-
.joins("LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.user_id = hubstats_users.id AND hubstats_pull_requests.merged_at
|
23
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.user_id = hubstats_users.id AND (hubstats_pull_requests.merged_at BETWEEN ? AND ?)", start_date, end_date]))
|
24
|
+
.where("hubstats_pull_requests.merged = '1'")
|
25
25
|
.group("hubstats_users.id")
|
26
26
|
}
|
27
27
|
|
28
|
-
scope :pull_requests_count_by_repo, lambda {|
|
28
|
+
scope :pull_requests_count_by_repo, lambda {|start_date, end_date, repo_id|
|
29
29
|
select("hubstats_users.id as user_id")
|
30
30
|
.select("IFNULL(COUNT(DISTINCT hubstats_pull_requests.id),0) AS pull_request_count")
|
31
|
-
.joins("LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.user_id = hubstats_users.id AND hubstats_pull_requests.created_at
|
31
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.user_id = hubstats_users.id AND (hubstats_pull_requests.created_at BETWEEN ? AND ?)", start_date, end_date]))
|
32
|
+
.where("hubstats_pull_requests.repo_id = ? AND hubstats_pull_requests.merged = '1'", repo_id)
|
32
33
|
.group("hubstats_users.id")
|
33
34
|
}
|
34
35
|
|
35
|
-
scope :comments_count_by_repo, lambda {|
|
36
|
+
scope :comments_count_by_repo, lambda {|start_date, end_date, repo_id|
|
36
37
|
select("hubstats_users.id as user_id")
|
37
38
|
.select("COUNT(DISTINCT hubstats_comments.id) AS comment_count")
|
38
|
-
.joins("LEFT JOIN hubstats_comments ON hubstats_comments.user_id = hubstats_users.id AND hubstats_comments.created_at
|
39
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_comments ON hubstats_comments.user_id = hubstats_users.id AND (hubstats_comments.created_at BETWEEN ? AND ?)", start_date, end_date]))
|
40
|
+
.where("hubstats_comments.repo_id = ?", repo_id)
|
39
41
|
.group("hubstats_users.id")
|
40
42
|
}
|
41
43
|
|
42
|
-
scope :pulls_reviewed_count, lambda { |
|
44
|
+
scope :pulls_reviewed_count, lambda {|start_date, end_date|
|
43
45
|
select("hubstats_users.id as user_id")
|
44
46
|
.select("COUNT(DISTINCT hubstats_pull_requests.id) as reviews_count")
|
45
|
-
.joins("LEFT JOIN hubstats_comments ON hubstats_comments.user_id = hubstats_users.id AND hubstats_comments.created_at
|
46
|
-
.joins("LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.id = hubstats_comments.pull_request_id AND hubstats_pull_requests.closed_at
|
47
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_comments ON hubstats_comments.user_id = hubstats_users.id AND (hubstats_comments.created_at BETWEEN ? AND ?)", start_date, end_date]))
|
48
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.id = hubstats_comments.pull_request_id AND (hubstats_pull_requests.closed_at BETWEEN ? AND ?)", start_date, end_date]))
|
47
49
|
.where("hubstats_pull_requests.user_id != hubstats_users.id")
|
48
50
|
.group("hubstats_users.id")
|
49
51
|
}
|
50
52
|
|
51
|
-
scope :net_additions_count, lambda { |
|
53
|
+
scope :net_additions_count, lambda {|start_date, end_date|
|
52
54
|
select("hubstats_users.id as user_id")
|
53
55
|
.select("SUM(IFNULL(hubstats_pull_requests.additions, 0)) AS additions")
|
54
56
|
.select("SUM(IFNULL(hubstats_pull_requests.deletions, 0)) AS deletions")
|
55
|
-
.joins("LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.user_id = hubstats_users.id AND hubstats_pull_requests.created_at
|
57
|
+
.joins(sanitize_sql_array(["LEFT JOIN hubstats_pull_requests ON hubstats_pull_requests.user_id = hubstats_users.id AND (hubstats_pull_requests.created_at BETWEEN ? AND ?) AND hubstats_pull_requests.merged = '1'", start_date, end_date]))
|
56
58
|
.group("hubstats_users.id")
|
57
59
|
}
|
58
60
|
|
59
|
-
scope :pull_and_comment_count, lambda { |
|
61
|
+
scope :pull_and_comment_count, lambda {|start_date, end_date|
|
60
62
|
select("hubstats_users.*, pull_request_count, comment_count")
|
61
|
-
.joins("LEFT JOIN (#{pull_requests_count(
|
62
|
-
.joins("LEFT JOIN (#{comments_count(
|
63
|
+
.joins("LEFT JOIN (#{pull_requests_count(start_date, end_date).to_sql}) AS pull_requests ON pull_requests.user_id = hubstats_users.id")
|
64
|
+
.joins("LEFT JOIN (#{comments_count(start_date, end_date).to_sql}) AS comments ON comments.user_id = hubstats_users.id")
|
63
65
|
.group("hubstats_users.id")
|
64
66
|
}
|
65
67
|
|
66
|
-
scope :pull_and_comment_count_by_repo, lambda {
|
68
|
+
scope :pull_and_comment_count_by_repo, lambda {|start_date, end_date, repo_id|
|
67
69
|
select("hubstats_users.*, pull_request_count, comment_count")
|
68
|
-
.joins("LEFT JOIN (#{pull_requests_count_by_repo(
|
69
|
-
.joins("LEFT JOIN (#{comments_count_by_repo(
|
70
|
+
.joins("LEFT JOIN (#{pull_requests_count_by_repo(start_date, end_date, repo_id).to_sql}) AS pull_requests ON pull_requests.user_id = hubstats_users.id")
|
71
|
+
.joins("LEFT JOIN (#{comments_count_by_repo(start_date, end_date, repo_id).to_sql}) AS comments ON comments.user_id = hubstats_users.id")
|
70
72
|
.group("hubstats_users.id")
|
71
73
|
}
|
72
|
-
|
74
|
+
|
75
|
+
scope :with_all_metrics, lambda {|start_date, end_date|
|
73
76
|
select("hubstats_users.*, deploy_count, pull_request_count, comment_count, additions, deletions")
|
74
|
-
.joins("LEFT JOIN (#{net_additions_count(
|
75
|
-
.joins("LEFT JOIN (#{pull_requests_count(
|
76
|
-
.joins("LEFT JOIN (#{comments_count(
|
77
|
-
.joins("LEFT JOIN (#{deploys_count(
|
77
|
+
.joins("LEFT JOIN (#{net_additions_count(start_date, end_date).to_sql}) AS net_additions ON net_additions.user_id = hubstats_users.id")
|
78
|
+
.joins("LEFT JOIN (#{pull_requests_count(start_date, end_date).to_sql}) AS pull_requests ON pull_requests.user_id = hubstats_users.id")
|
79
|
+
.joins("LEFT JOIN (#{comments_count(start_date, end_date).to_sql}) AS comments ON comments.user_id = hubstats_users.id")
|
80
|
+
.joins("LEFT JOIN (#{deploys_count(start_date, end_date).to_sql}) AS deploys ON deploys.user_id = hubstats_users.id")
|
78
81
|
.group("hubstats_users.id")
|
79
82
|
}
|
80
83
|
|
@@ -103,11 +106,11 @@ module Hubstats
|
|
103
106
|
Rails.logger.warn user.errors.inspect
|
104
107
|
end
|
105
108
|
|
106
|
-
def self.with_pulls_or_comments(
|
109
|
+
def self.with_pulls_or_comments(start_date, end_date, repo_id = nil)
|
107
110
|
if repo_id
|
108
|
-
pull_and_comment_count_by_repo(
|
111
|
+
pull_and_comment_count_by_repo(start_date, end_date, repo_id).weighted_sort
|
109
112
|
else
|
110
|
-
pull_and_comment_count(
|
113
|
+
pull_and_comment_count(start_date, end_date).weighted_sort
|
111
114
|
end
|
112
115
|
end
|
113
116
|
|
@@ -24,12 +24,14 @@
|
|
24
24
|
<%= link_to "Users", users_path%></li>
|
25
25
|
<li>
|
26
26
|
<select class="form-control push-down" id="time-select">
|
27
|
-
<% Hubstats::
|
28
|
-
<option value=<%=
|
27
|
+
<% Hubstats::DATE_RANGE_ARRAY.each do |date| %>
|
28
|
+
<option value=<%= date[:date] %>><%=date[:display_value]%></option>
|
29
29
|
<% end %>
|
30
30
|
</select>
|
31
31
|
</li>
|
32
32
|
</ul>
|
33
|
+
<!-- Start time: <%=@start_date%>
|
34
|
+
End time: <%=@end_date%> -->
|
33
35
|
</div>
|
34
36
|
</div>
|
35
37
|
</nav>
|
data/date_range
ADDED
File without changes
|
data/hubstats.gemspec
CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.add_dependency "rails", "~> 3.2.18"
|
20
20
|
s.add_dependency "octokit", "~> 3.2"
|
21
21
|
s.add_dependency "will_paginate-bootstrap"
|
22
|
+
s.add_dependency "bootstrap-datepicker"
|
22
23
|
s.add_dependency "select2-rails", "3.5.9"
|
23
24
|
|
24
25
|
s.add_development_dependency "rspec-rails",'~> 3.0.0.beta'
|
data/lib/hubstats.rb
CHANGED
data/lib/hubstats/version.rb
CHANGED
@@ -24,7 +24,7 @@ module Hubstats
|
|
24
24
|
:deployed_at => "2011-02-03 03:00:00 -0500",
|
25
25
|
:user_id => nil)
|
26
26
|
deploys_ordered = [deploy2, deploy3, deploy1]
|
27
|
-
expect(Hubstats::Deploy).to receive_message_chain("group_by.
|
27
|
+
expect(Hubstats::Deploy).to receive_message_chain("group_by.order_with_date_range.paginate").and_return(deploys_ordered)
|
28
28
|
get :index
|
29
29
|
expect(response).to have_http_status(200)
|
30
30
|
expect(response).to render_template(:index)
|
@@ -31,13 +31,14 @@ module Hubstats
|
|
31
31
|
pull = create(:pull_request, :user => user,
|
32
32
|
:repo => repo,
|
33
33
|
:deploy_id => 404040)
|
34
|
-
comment1 = create(:comment, :pull_request_id => pull.id)
|
35
|
-
comment2 = create(:comment, :pull_request_id => pull.id)
|
36
|
-
comment3 = create(:comment, :pull_request_id => pull.id)
|
34
|
+
comment1 = create(:comment, :pull_request_id => pull.id, :created_at => "2015-06-16")
|
35
|
+
comment2 = create(:comment, :pull_request_id => pull.id, :created_at => "2015-06-16")
|
36
|
+
comment3 = create(:comment, :pull_request_id => pull.id, :created_at => "2015-06-16")
|
37
37
|
get :show, repo: repo, id: pull.id
|
38
38
|
expect(assigns(:pull_request)).to eq(pull)
|
39
39
|
expect(assigns(:pull_request).repo_id).to eq(101010)
|
40
40
|
expect(assigns(:pull_request).deploy_id).to eq(404040)
|
41
|
+
# Below test could potentially fail if the date range changes
|
41
42
|
expect(assigns(:comments)).to contain_exactly(comment1, comment2, comment3)
|
42
43
|
expect(assigns(:pull_request).user_id).to eq(user.id)
|
43
44
|
end
|
@@ -8,17 +8,22 @@ module Hubstats
|
|
8
8
|
it "should list all of the repos" do
|
9
9
|
repo1 = create(:repo, :id => 101010,
|
10
10
|
:name => "silly",
|
11
|
-
:full_name => "sportngin/silly"
|
11
|
+
:full_name => "sportngin/silly",
|
12
|
+
:updated_at => "2015-06-16")
|
12
13
|
repo2 = create(:repo, :id => 202020,
|
13
14
|
:name => "funny",
|
14
|
-
:full_name => "sportngin/funny"
|
15
|
+
:full_name => "sportngin/funny",
|
16
|
+
:updated_at => "2015-06-16")
|
15
17
|
repo3 = create(:repo, :id => 303030,
|
16
18
|
:name => "loosey",
|
17
|
-
:full_name => "sportngin/loosey"
|
19
|
+
:full_name => "sportngin/loosey",
|
20
|
+
:updated_at => "2015-06-16")
|
18
21
|
repo4 = create(:repo, :id => 404040,
|
19
22
|
:name => "goosey",
|
20
|
-
:full_name => "sportngin/goosey"
|
23
|
+
:full_name => "sportngin/goosey",
|
24
|
+
:updated_at => "2015-06-16")
|
21
25
|
get :index
|
26
|
+
# Below test could potentially fail if the date range changes
|
22
27
|
expect(assigns(:repos)).to contain_exactly(repo2, repo1, repo3, repo4)
|
23
28
|
end
|
24
29
|
end
|
@@ -16,7 +16,7 @@ module Hubstats
|
|
16
16
|
expect(deploy.user_id).to eq(202020)
|
17
17
|
end
|
18
18
|
|
19
|
-
it 'should order deploys based on
|
19
|
+
it 'should order deploys based on date range ASC' do
|
20
20
|
repo = build(:repo)
|
21
21
|
deploy1 = Deploy.create(git_revision: "c1a2b37",
|
22
22
|
repo_id: repo.id,
|
@@ -28,19 +28,19 @@ module Hubstats
|
|
28
28
|
user_id: 202020)
|
29
29
|
deploy3 = Deploy.create(git_revision: "k10d8as",
|
30
30
|
repo_id: repo.id,
|
31
|
-
deployed_at: "2015-
|
31
|
+
deployed_at: "2015-03-21 12:00:00",
|
32
32
|
user_id: 202020)
|
33
33
|
deploy4 = Deploy.create(git_revision: "917d9ss",
|
34
34
|
repo_id: repo.id,
|
35
35
|
deployed_at: "2014-12-19 08:00:00",
|
36
36
|
user_id: 202020)
|
37
37
|
deploys_ordered = [deploy1, deploy2, deploy4, deploy3]
|
38
|
-
new_ordered_deploys = Deploy.
|
38
|
+
new_ordered_deploys = Deploy.order_with_date_range("2005-07-01", "2015-06-19", "ASC")
|
39
39
|
expect(Deploy.count).to eq(4)
|
40
40
|
expect(new_ordered_deploys).to eq(deploys_ordered)
|
41
41
|
end
|
42
42
|
|
43
|
-
it 'should order deploys based on
|
43
|
+
it 'should order deploys based on date range DESC' do
|
44
44
|
repo = build(:repo)
|
45
45
|
deploy1 = Deploy.create(git_revision: "c1a2b37",
|
46
46
|
repo_id: repo.id,
|
@@ -52,14 +52,14 @@ module Hubstats
|
|
52
52
|
user_id: 202020)
|
53
53
|
deploy3 = Deploy.create(git_revision: "k10d8as",
|
54
54
|
repo_id: repo.id,
|
55
|
-
deployed_at: "2015-
|
55
|
+
deployed_at: "2015-03-21 12:00:00",
|
56
56
|
user_id: 202020)
|
57
57
|
deploy4 = Deploy.create(git_revision: "917d9ss",
|
58
58
|
repo_id: repo.id,
|
59
59
|
deployed_at: "2014-12-19 08:00:00",
|
60
60
|
user_id: 202020)
|
61
61
|
deploys_ordered = [deploy3, deploy4, deploy2, deploy1]
|
62
|
-
new_ordered_deploys = Deploy.
|
62
|
+
new_ordered_deploys = Deploy.order_with_date_range("2005-07-01", "2015-06-19", "DESC")
|
63
63
|
expect(Deploy.count).to eq(4)
|
64
64
|
expect(new_ordered_deploys).to eq(deploys_ordered)
|
65
65
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -11,7 +11,7 @@ require 'faker'
|
|
11
11
|
# run twice. It is recommended that you do not name files matching this glob to
|
12
12
|
# end with _spec.rb. You can configure this pattern with with the --pattern
|
13
13
|
# option on the command line or in ~/.rspec, .rspec or `.rspec-local`.
|
14
|
-
Dir[Rails.root.join("spec/support/**/*.rb")].each {
|
14
|
+
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f }
|
15
15
|
|
16
16
|
RSpec.configure do |config|
|
17
17
|
# ## Mock Framework
|
data/test/test_helper.rb
CHANGED
@@ -7,7 +7,7 @@ require "rails/test_help"
|
|
7
7
|
Rails.backtrace_cleaner.remove_silencers!
|
8
8
|
|
9
9
|
# Load support files
|
10
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {
|
10
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f }
|
11
11
|
|
12
12
|
# Load fixtures from the engine
|
13
13
|
if ActiveSupport::TestCase.method_defined?(:fixture_path=)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hubstats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elliot Hursh
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-06-
|
12
|
+
date: 2015-06-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - ! '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: bootstrap-datepicker
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: select2-rails
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -215,6 +229,7 @@ files:
|
|
215
229
|
- app/views/hubstats/users/show.html.erb
|
216
230
|
- app/views/layouts/hubstats/application.html.erb
|
217
231
|
- config/routes.rb
|
232
|
+
- date_range
|
218
233
|
- db/migrate/20140604130339_create_hubstats_pull_requests.rb
|
219
234
|
- db/migrate/20140604130457_create_hubstats_users.rb
|
220
235
|
- db/migrate/20140604130504_create_hubstats_comments.rb
|