hubstats 0.6.0 → 0.7.0
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 +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +2 -5
- data/CHANGELOG.markdown +9 -0
- data/Gemfile +1 -0
- data/app/controllers/hubstats/application_controller.rb +1 -1
- data/app/controllers/hubstats/deploys_controller.rb +14 -5
- data/app/controllers/hubstats/events_controller.rb +10 -2
- data/app/controllers/hubstats/users_controller.rb +1 -1
- data/app/models/hubstats/comment.rb +1 -6
- data/app/models/hubstats/deploy.rb +4 -6
- data/app/models/hubstats/label.rb +0 -2
- data/app/models/hubstats/pull_request.rb +5 -11
- data/app/models/hubstats/repo.rb +0 -8
- data/app/models/hubstats/team.rb +0 -1
- data/app/models/hubstats/user.rb +4 -8
- data/app/views/hubstats/deploys/show.html.erb +1 -1
- data/app/views/hubstats/pull_requests/show.html.erb +1 -1
- data/app/views/hubstats/repos/show.html.erb +2 -2
- data/app/views/hubstats/tables/{_comments-condensed.html.erb → _comments_condensed.html.erb} +0 -0
- data/app/views/hubstats/tables/{_deploys-condensed.html.erb → _deploys_condensed.html.erb} +0 -0
- data/app/views/hubstats/tables/{_pulls-condensed.html.erb → _pulls_condensed.html.erb} +0 -0
- data/app/views/hubstats/tables/{_repos-condensed.html.erb → _repos_condensed.html.erb} +0 -0
- data/app/views/hubstats/tables/{_users-condensed.html.erb → _users_condensed.html.erb} +0 -0
- data/app/views/hubstats/teams/show.html.erb +2 -2
- data/app/views/hubstats/users/show.html.erb +2 -2
- data/db/migrate/20140604130339_create_hubstats_pull_requests.rb +0 -1
- data/db/migrate/20140604130457_create_hubstats_users.rb +0 -1
- data/db/migrate/20140604130504_create_hubstats_comments.rb +0 -1
- data/db/migrate/20140604130550_create_hubstats_repos.rb +0 -1
- data/hubstats.gemspec +12 -11
- data/lib/hubstats/version.rb +1 -1
- data/spec/controllers/hubstats/deploys_controller_spec.rb +1 -1
- data/spec/lib/hubstats/github_api_spec.rb +1 -1
- data/test/dummy/config/application.rb +0 -6
- data/test/dummy/config/environments/development.rb +1 -10
- data/test/dummy/config/environments/production.rb +2 -4
- data/test/dummy/config/environments/test.rb +2 -7
- data/test/dummy/config/initializers/secret_token.rb +1 -0
- metadata +48 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d0ed1ccc83782f9dcd5b82585e30b2b1b2fd67a
|
4
|
+
data.tar.gz: 75bd4646f6434e6e218c63724b543a172c429b47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f540d2f457868cf1972ec707b02e392f7f800cd37f119055ab8c21c86cce1a7b443407b85c08624424ea04529c71ee800a66322ab938a1fa5377c2d7a9533f8c
|
7
|
+
data.tar.gz: 38aab120621ceacfb01aea32db1147b640580d43897b72b0af0730e173f45b88bf98b27962fb001cb9b892d26c29a0a464ddd1f8535baf13777a7b951db5af47
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.2
|
1
|
+
ruby-2.2
|
data/.travis.yml
CHANGED
data/CHANGELOG.markdown
CHANGED
@@ -1,8 +1,17 @@
|
|
1
|
+
#### v0.7.0
|
2
|
+
* Upgrading Hubstats to Rails 4.2.5
|
3
|
+
|
4
|
+
> Brian Bergstrom, Emma Sax: Andy Fleener: https://github.com/sportngin/hubstats/pull/93
|
5
|
+
|
1
6
|
#### v0.6.0
|
2
7
|
* Deleting unused columns from Hubstats database
|
3
8
|
|
4
9
|
> Emma Sax: Brian Bergstrom: https://github.com/sportngin/hubstats/pull/97
|
5
10
|
|
11
|
+
* Rake task should update teams based on whitelist; users show page should show team
|
12
|
+
|
13
|
+
> Emma Sax: Brian Bergstrom: https://github.com/sportngin/hubstats/pull/95
|
14
|
+
|
6
15
|
#### v0.5.12
|
7
16
|
* Restrict mysql2 dependency to compatible version
|
8
17
|
|
data/Gemfile
CHANGED
@@ -7,6 +7,7 @@ gemspec
|
|
7
7
|
|
8
8
|
# jquery-rails is used by the dummy application
|
9
9
|
gem "jquery-rails"
|
10
|
+
gem 'bootstrap-datepicker-rails'
|
10
11
|
|
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
|
@@ -40,13 +40,14 @@ module Hubstats
|
|
40
40
|
#
|
41
41
|
# Returns - nothing, but makes a new deploy
|
42
42
|
def create
|
43
|
-
|
43
|
+
new_params = deploy_params
|
44
|
+
if new_params[:git_revision].nil? || new_params[:repo_name].nil? || new_params[:pull_request_ids].nil?
|
44
45
|
render text: "Missing a necessary parameter: git revision, pull request ids, or repository name.", :status => 400 and return
|
45
46
|
else
|
46
47
|
@deploy = Deploy.new
|
47
|
-
@deploy.deployed_at =
|
48
|
-
@deploy.git_revision =
|
49
|
-
@repo = Hubstats::Repo.where(full_name:
|
48
|
+
@deploy.deployed_at = new_params[:deployed_at]
|
49
|
+
@deploy.git_revision = new_params[:git_revision]
|
50
|
+
@repo = Hubstats::Repo.where(full_name: new_params[:repo_name])
|
50
51
|
|
51
52
|
if !valid_repo(@repo)
|
52
53
|
render text: "Repository name is invalid.", :status => 400 and return
|
@@ -54,7 +55,7 @@ module Hubstats
|
|
54
55
|
@deploy.repo_id = @repo.first.id.to_i
|
55
56
|
end
|
56
57
|
|
57
|
-
pull_request_id_array =
|
58
|
+
pull_request_id_array = new_params[:pull_request_ids].split(",").map {|i| i.strip.to_i}
|
58
59
|
if !valid_pr_ids(pull_request_id_array)
|
59
60
|
render text: "No pull request ids given.", :status => 400 and return
|
60
61
|
else
|
@@ -101,5 +102,13 @@ module Hubstats
|
|
101
102
|
@deploy.user_id = pull.merged_by
|
102
103
|
return true
|
103
104
|
end
|
105
|
+
|
106
|
+
# Private - Allows only these parameters to be added when creating a deploy
|
107
|
+
#
|
108
|
+
# Returns - hash of parameters
|
109
|
+
private
|
110
|
+
def deploy_params
|
111
|
+
params.permit(:git_revision, :repo_name, :deployed_at, :user_id, :pull_request_ids)
|
112
|
+
end
|
104
113
|
end
|
105
114
|
end
|
@@ -13,13 +13,13 @@ module Hubstats
|
|
13
13
|
verify_signature(request)
|
14
14
|
|
15
15
|
kind = request.headers['X-Github-Event']
|
16
|
-
event =
|
16
|
+
event = event_params.with_indifferent_access
|
17
17
|
|
18
18
|
raw_parameters = request.request_parameters
|
19
19
|
event[:github_action] = raw_parameters["action"]
|
20
20
|
|
21
21
|
eventsHandler = Hubstats::EventsHandler.new()
|
22
|
-
eventsHandler.route(event,kind)
|
22
|
+
eventsHandler.route(event, kind)
|
23
23
|
|
24
24
|
render :nothing => true
|
25
25
|
end
|
@@ -36,5 +36,13 @@ module Hubstats
|
|
36
36
|
signature = 'sha1=' + OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), Hubstats.config.webhook_endpoint, payload_body)
|
37
37
|
return 500, "Signatures didn't match!" unless Rack::Utils.secure_compare(signature, request.env['HTTP_X_HUB_SIGNATURE'])
|
38
38
|
end
|
39
|
+
|
40
|
+
# Private - Allows only these parameters to be added when creating an event
|
41
|
+
#
|
42
|
+
# Returns - hash of parameters
|
43
|
+
private
|
44
|
+
def event_params
|
45
|
+
params.permit!
|
46
|
+
end
|
39
47
|
end
|
40
48
|
end
|
@@ -13,7 +13,7 @@ module Hubstats
|
|
13
13
|
elsif params[:id]
|
14
14
|
@users = Hubstats::User.where(id: params[:id].split(",")).order("login ASC")
|
15
15
|
else
|
16
|
-
@users = Hubstats::User.
|
16
|
+
@users = Hubstats::User.with_all_metrics(@start_date, @end_date)
|
17
17
|
.with_id(params[:users])
|
18
18
|
.custom_order(params[:order])
|
19
19
|
.paginate(:page => params[:page], :per_page => 15)
|
@@ -7,7 +7,7 @@ module Hubstats
|
|
7
7
|
scope :created_in_date_range, lambda {|start_date, end_date| where("hubstats_comments.created_at BETWEEN ? AND ?", start_date, end_date)}
|
8
8
|
scope :belonging_to_pull_request, lambda {|pull_request_id| where(pull_request_id: pull_request_id)}
|
9
9
|
scope :belonging_to_user, lambda {|user_id| where(user_id: user_id)}
|
10
|
-
scope :belonging_to_team, lambda {|
|
10
|
+
scope :belonging_to_team, lambda {|user_ids| where(user_id: user_ids) if user_ids}
|
11
11
|
scope :belonging_to_repo, lambda {|repo_id| where(repo_id: repo_id)}
|
12
12
|
|
13
13
|
# Public - Gets the number of PRs that a user commented on that were not their own PR.
|
@@ -20,11 +20,6 @@ module Hubstats
|
|
20
20
|
.where("hubstats_pull_requests.user_id != hubstats_comments.user_id")
|
21
21
|
.group("hubstats_comments.user_id")
|
22
22
|
}
|
23
|
-
|
24
|
-
attr_accessible :id, :html_url, :url, :pull_request_url, :diff_hunk, :path,
|
25
|
-
:position, :original_position, :line, :commit_id, :original_commit_id,
|
26
|
-
:body, :created_at, :updated_at, :user_id, :pull_request_id, :repo_id,
|
27
|
-
:kind
|
28
23
|
|
29
24
|
belongs_to :user
|
30
25
|
belongs_to :pull_request
|
@@ -13,13 +13,13 @@ module Hubstats
|
|
13
13
|
|
14
14
|
# Various checks that can be used to filter, sort, and find info about deploys.
|
15
15
|
scope :deployed_in_date_range, lambda {|start_date, end_date| where("hubstats_deploys.deployed_at BETWEEN ? AND ?", start_date, end_date)}
|
16
|
-
scope :
|
16
|
+
scope :group_by_repo, lambda {|group| group_by(:repo_id) if group }
|
17
17
|
scope :belonging_to_repo, lambda {|repo_id| where(repo_id: repo_id)}
|
18
18
|
scope :belonging_to_user, lambda {|user_id| where(user_id: user_id)}
|
19
19
|
scope :belonging_to_repos, lambda {|repo_id| where(repo_id: repo_id.split(',')) if repo_id}
|
20
20
|
scope :belonging_to_users, lambda {|user_id| where(user_id: user_id.split(',')) if user_id}
|
21
|
-
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")
|
22
|
-
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")
|
21
|
+
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") }
|
22
|
+
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") }
|
23
23
|
|
24
24
|
scope :belonging_to_teams, lambda {|teams|
|
25
25
|
if teams
|
@@ -28,8 +28,6 @@ module Hubstats
|
|
28
28
|
where(user_id: user_list.split(','))
|
29
29
|
end
|
30
30
|
}
|
31
|
-
|
32
|
-
attr_accessible :git_revision, :repo_id, :deployed_at, :user_id, :pull_request_ids
|
33
31
|
|
34
32
|
belongs_to :user
|
35
33
|
belongs_to :repo
|
@@ -58,7 +56,7 @@ module Hubstats
|
|
58
56
|
elsif group == "repo"
|
59
57
|
with_repo_name.order("repo_name ASC")
|
60
58
|
else
|
61
|
-
|
59
|
+
all
|
62
60
|
end
|
63
61
|
end
|
64
62
|
|
@@ -22,8 +22,6 @@ module Hubstats
|
|
22
22
|
.order("pull_request_count DESC")
|
23
23
|
end
|
24
24
|
|
25
|
-
attr_accessible :url, :name, :color
|
26
|
-
|
27
25
|
has_and_belongs_to_many :pull_requests, :join_table => 'hubstats_labels_pull_requests'
|
28
26
|
|
29
27
|
# Public - Checks if the label is currently existing, and if it isn't, then makes a new label with
|
@@ -16,18 +16,12 @@ module Hubstats
|
|
16
16
|
scope :belonging_to_repos, lambda {|repo_id| where(repo_id: repo_id.split(',')) if repo_id}
|
17
17
|
scope :belonging_to_teams, lambda {|team_id| where(team_id: team_id.split(',')) if team_id}
|
18
18
|
scope :belonging_to_users, lambda {|user_id| where(user_id: user_id.split(',')) if user_id}
|
19
|
-
scope :
|
19
|
+
scope :group_by_repo, lambda {|group| group_by(:repo_id) if group }
|
20
20
|
scope :with_state, lambda {|state| (where(state: state) unless state == 'all') if state}
|
21
21
|
scope :with_label, lambda {|label_name| joins(:labels).where(hubstats_labels: {name: label_name.split(',')}) if label_name}
|
22
|
-
scope :
|
23
|
-
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")
|
24
|
-
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")
|
25
|
-
|
26
|
-
attr_accessible :id, :url, :html_url, :diff_url, :patch_url, :issue_url, :commits_url,
|
27
|
-
:review_comments_url, :review_comment_url, :comments_url, :statuses_url, :number,
|
28
|
-
:state, :title, :body, :created_at, :updated_at, :closed_at, :merged_at,
|
29
|
-
:merge_commit_sha, :merged, :mergeable, :comments, :commits, :additions,
|
30
|
-
:deletions, :changed_files, :user_id, :repo_id, :merged_by, :team_id
|
22
|
+
scope :distincter, -> { select("DISTINCT hubstats_pull_requests.*") }
|
23
|
+
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") }
|
24
|
+
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") }
|
31
25
|
|
32
26
|
belongs_to :user
|
33
27
|
belongs_to :repo
|
@@ -141,7 +135,7 @@ module Hubstats
|
|
141
135
|
elsif group == 'repo'
|
142
136
|
with_repo_name.order("repo_name asc")
|
143
137
|
else
|
144
|
-
|
138
|
+
all
|
145
139
|
end
|
146
140
|
end
|
147
141
|
|
data/app/models/hubstats/repo.rb
CHANGED
@@ -75,14 +75,6 @@ module Hubstats
|
|
75
75
|
.group("hubstats_repos.id")
|
76
76
|
}
|
77
77
|
|
78
|
-
attr_accessible :id, :name, :full_name, :homepage, :language, :description, :default_branch,
|
79
|
-
:url, :html_url, :clone_url, :git_url, :ssh_url, :svn_url, :mirror_url,
|
80
|
-
:hooks_url, :issue_events_url, :events_url, :contributors_url, :git_commits_url,
|
81
|
-
:issue_comment_url, :merges_url, :issues_url, :pulls_url, :labels_url,
|
82
|
-
:forks_count, :stargazers_count, :watchers_count, :size, :open_issues_count,
|
83
|
-
:has_issues, :has_wiki, :has_downloads,:fork, :private,
|
84
|
-
:pushed_at, :created_at, :updated_at, :owner_id
|
85
|
-
|
86
78
|
has_many :pull_requests
|
87
79
|
has_many :deploys
|
88
80
|
has_many :comments
|
data/app/models/hubstats/team.rb
CHANGED
@@ -45,7 +45,6 @@ module Hubstats
|
|
45
45
|
.group("hubstats_teams.id")
|
46
46
|
}
|
47
47
|
|
48
|
-
attr_accessible :name, :hubstats
|
49
48
|
has_and_belongs_to_many :users, :join_table => 'hubstats_teams_users', :uniq => true
|
50
49
|
|
51
50
|
# Public - Checks if the team is currently existing, and if it isn't, then makes a new team with
|
data/app/models/hubstats/user.rb
CHANGED
@@ -3,9 +3,9 @@ module Hubstats
|
|
3
3
|
|
4
4
|
# Various checks that can be used to filter and find info about users.
|
5
5
|
scope :with_id, lambda {|user_id| where(id: user_id.split(',')) if user_id}
|
6
|
-
scope :only_active, having("comment_count > 0 OR pull_request_count > 0 OR deploy_count > 0")
|
7
|
-
scope :is_developer, having("pull_request_count > 0")
|
8
|
-
scope :is_reviewer, having("comment_count > 0")
|
6
|
+
scope :only_active, -> { having("comment_count > 0 OR pull_request_count > 0 OR deploy_count > 0") }
|
7
|
+
scope :is_developer, -> { having("pull_request_count > 0") }
|
8
|
+
scope :is_reviewer, -> { having("comment_count > 0") }
|
9
9
|
scope :with_contributions, lambda {|start_date, end_date, repo_id| with_all_metrics_repos(start_date, end_date, repo_id) if repo_id}
|
10
10
|
|
11
11
|
# Public - Counts all of the deploys for selected user that occurred between the start_date and end_date.
|
@@ -160,10 +160,6 @@ module Hubstats
|
|
160
160
|
.joins("LEFT JOIN (#{deploys_count(start_date, end_date).to_sql}) AS deploys ON deploys.user_id = hubstats_users.id")
|
161
161
|
.group("hubstats_users.id")
|
162
162
|
}
|
163
|
-
|
164
|
-
attr_accessible :login, :id, :avatar_url, :gravatar_id, :url, :html_url, :followers_url,
|
165
|
-
:following_url, :gists_url, :starred_url, :subscriptions_url, :organizations_url,
|
166
|
-
:repos_url, :events_url, :received_events_url, :role, :site_admin, :created_at, :updated_at
|
167
163
|
|
168
164
|
validates :id, presence: true, uniqueness: true
|
169
165
|
|
@@ -179,7 +175,7 @@ module Hubstats
|
|
179
175
|
#
|
180
176
|
# Returns - the user
|
181
177
|
def self.create_or_update(github_user)
|
182
|
-
github_user[:role] = github_user.delete :type ##changing :type
|
178
|
+
github_user[:role] = github_user.delete :type ##changing :type into :role
|
183
179
|
github_user = github_user.to_h.with_indifferent_access unless github_user.is_a? Hash
|
184
180
|
|
185
181
|
user_data = github_user.slice(*Hubstats::User.column_names.map(&:to_sym))
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<div class="col col-lg-8 col-lg-offset-2">
|
21
21
|
<div class="row">
|
22
22
|
<h4> Merged Pull Requests </h4>
|
23
|
-
<%= render 'hubstats/tables/
|
23
|
+
<%= render 'hubstats/tables/pulls_condensed' %>
|
24
24
|
<% if @pull_request_count > 20 %>
|
25
25
|
<p class="pull-right"><%= link_to "View All", pulls_path(:deploys => @deploy.id) %></p>
|
26
26
|
<% end %>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<!-- Show all of the merged pull requests in a "condensed" view -->
|
21
21
|
<div class="col col-lg-6">
|
22
22
|
<h3> Merged Pull Requests</h3>
|
23
|
-
<%= render 'hubstats/tables/
|
23
|
+
<%= render 'hubstats/tables/pulls_condensed'%>
|
24
24
|
<% if @pull_count > 20 %>
|
25
25
|
<p class="pull-right"><%= link_to "View All", pulls_path(:repos => @repo.id) %></p>
|
26
26
|
<% end %>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<!-- Show all of the deploys in a "condensed" view -->
|
30
30
|
<div class="col col-lg-6">
|
31
31
|
<h3> Deployments </h3>
|
32
|
-
<%= render "hubstats/tables/
|
32
|
+
<%= render "hubstats/tables/deploys_condensed" %>
|
33
33
|
<% if @deploy_count > 20 %>
|
34
34
|
<p class="pull-right"><%= link_to "View All", deploys_path(:repos => @repo.id) %></p>
|
35
35
|
<% end %>
|
data/app/views/hubstats/tables/{_comments-condensed.html.erb → _comments_condensed.html.erb}
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<!-- Show all of this team's merged pull requests in a "condensed" view -->
|
21
21
|
<div class="col-lg-6 col-md-5 col-sm-5 col-xs-5">
|
22
22
|
<h3> Merged Pull Requests</h3>
|
23
|
-
<%= render 'hubstats/tables/
|
23
|
+
<%= render 'hubstats/tables/pulls_condensed' %>
|
24
24
|
<% if @pull_count > 20 %>
|
25
25
|
<p class="pull-right"><%= link_to "View All", pulls_path(:teams => @team.id) %></p>
|
26
26
|
<% end %>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<!-- Show all of this team's users in a "condensed" view -->
|
30
30
|
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
|
31
31
|
<h3> Active Users </h3>
|
32
|
-
<%= render 'hubstats/tables/
|
32
|
+
<%= render 'hubstats/tables/users_condensed' %>
|
33
33
|
</div>
|
34
34
|
</div>
|
35
35
|
</div>
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<!-- Show all of this user's merged pull requests in a "condensed" view -->
|
23
23
|
<div class="col-lg-6 col-md-5 col-sm-5 col-xs-5">
|
24
24
|
<h3> Merged Pull Requests</h3>
|
25
|
-
<%= render 'hubstats/tables/
|
25
|
+
<%= render 'hubstats/tables/pulls_condensed' %>
|
26
26
|
<% if @pull_count > 20 %>
|
27
27
|
<p class="pull-right"><%= link_to "View All", pulls_path(:users => @user.id) %></p>
|
28
28
|
<% end %>
|
@@ -31,7 +31,7 @@
|
|
31
31
|
<!-- Show all of this user's deploys in a "condensed" view -->
|
32
32
|
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
|
33
33
|
<h3> Deployments </h3>
|
34
|
-
<%= render 'hubstats/tables/
|
34
|
+
<%= render 'hubstats/tables/deploys_condensed' %>
|
35
35
|
<% if @deploy_count > 20 %>
|
36
36
|
<p class="pull-right"><%= link_to "View All", deploys_path(:users => @user.id) %></p>
|
37
37
|
<% end %>
|
data/hubstats.gemspec
CHANGED
@@ -16,16 +16,17 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.files = `git ls-files -z`.split("\x0")
|
17
17
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
18
18
|
|
19
|
-
s.add_dependency "rails", "~>
|
20
|
-
s.add_dependency "octokit", "~> 4.
|
21
|
-
s.add_dependency "will_paginate-bootstrap"
|
22
|
-
s.add_dependency "select2-rails", "3.
|
23
|
-
s.add_dependency "
|
19
|
+
s.add_dependency "rails", "~> 4.2"
|
20
|
+
s.add_dependency "octokit", "~> 4.2"
|
21
|
+
s.add_dependency "will_paginate-bootstrap", "~> 1.0"
|
22
|
+
s.add_dependency "select2-rails", "~> 3.0"
|
23
|
+
s.add_dependency "sass-rails"
|
24
|
+
s.add_dependency "bootstrap-datepicker-rails", "~> 1.5"
|
24
25
|
|
25
|
-
s.add_development_dependency "mysql2",'~> 0.3.
|
26
|
-
s.add_development_dependency "rspec-rails",'~> 3.
|
27
|
-
s.add_development_dependency "shoulda-matchers", "~> 2.
|
28
|
-
s.add_development_dependency "factory_girl_rails", "~> 4.
|
29
|
-
s.add_development_dependency "faker", "~> 1.
|
30
|
-
s.add_development_dependency "test-unit", "~> 3.
|
26
|
+
s.add_development_dependency "mysql2",'~> 0.3.2'
|
27
|
+
s.add_development_dependency "rspec-rails",'~> 3.4'
|
28
|
+
s.add_development_dependency "shoulda-matchers", "~> 2.8"
|
29
|
+
s.add_development_dependency "factory_girl_rails", "~> 4.5"
|
30
|
+
s.add_development_dependency "faker", "~> 1.6"
|
31
|
+
s.add_development_dependency "test-unit", "~> 3.1"
|
31
32
|
end
|
data/lib/hubstats/version.rb
CHANGED
@@ -59,11 +59,11 @@ module Hubstats
|
|
59
59
|
"repo_name" => "example/name",
|
60
60
|
"deployed_at" => "2009-02-03 03:00:00 -0500",
|
61
61
|
"pull_request_ids" => "33364992, 5870592, 33691392"})
|
62
|
+
expect(response).to have_http_status(200)
|
62
63
|
expect(assigns(:deploy).git_revision).to eq("c1a2b37")
|
63
64
|
expect(assigns(:deploy).deployed_at).to eq("2009-02-03 03:00:00 -0500")
|
64
65
|
expect(assigns(:deploy).repo_id).to eq(505050)
|
65
66
|
expect(assigns(:deploy).user_id).to eq(202020)
|
66
|
-
expect(response).to have_http_status(200)
|
67
67
|
end
|
68
68
|
|
69
69
|
it 'should create a deploy without a deployed_at because nil time turns into current time' do
|
@@ -112,8 +112,8 @@ module Hubstats
|
|
112
112
|
it 'should update the teams in the database based on a given whitelist' do
|
113
113
|
allow(Hubstats).to receive_message_chain(:config, :github_config, :[]).with("team_list") { ["Team One", "Team Two", "Team Three", "Team Four"] }
|
114
114
|
allow(Hubstats::Team).to receive(:all).and_return( [team1, team2, team3, team4, team5] )
|
115
|
+
expect(team5).to receive(:update_column).with(:hubstats, false)
|
115
116
|
subject.deprecate_teams_from_file
|
116
|
-
expect(Hubstats::Team.where(name: "Team Five").first.hubstats).to eq(false)
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
@@ -53,12 +53,6 @@ module Dummy
|
|
53
53
|
# like if you have constraints or database-specific column types
|
54
54
|
# config.active_record.schema_format = :sql
|
55
55
|
|
56
|
-
# Enforce whitelist mode for mass assignment.
|
57
|
-
# This will create an empty whitelist of attributes available for mass-assignment for all models
|
58
|
-
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
|
59
|
-
# parameters by using an attr_accessible or attr_protected declaration.
|
60
|
-
config.active_record.whitelist_attributes = true
|
61
|
-
|
62
56
|
# Enable the asset pipeline
|
63
57
|
config.assets.enabled = true
|
64
58
|
|
@@ -5,9 +5,7 @@ Dummy::Application.configure do
|
|
5
5
|
# every request. This slows down response time but is perfect for development
|
6
6
|
# since you don't have to restart the web server when you make code changes.
|
7
7
|
config.cache_classes = false
|
8
|
-
|
9
|
-
# Log error messages when you accidentally call methods on nil.
|
10
|
-
config.whiny_nils = true
|
8
|
+
config.eager_load = false
|
11
9
|
|
12
10
|
# Show full error reports and disable caching
|
13
11
|
config.consider_all_requests_local = true
|
@@ -22,13 +20,6 @@ Dummy::Application.configure do
|
|
22
20
|
# Only use best-standards-support built into browsers
|
23
21
|
config.action_dispatch.best_standards_support = :builtin
|
24
22
|
|
25
|
-
# Raise exception on mass assignment protection for Active Record models
|
26
|
-
config.active_record.mass_assignment_sanitizer = :strict
|
27
|
-
|
28
|
-
# Log the query plan for queries taking more than this (works
|
29
|
-
# with SQLite, MySQL, and PostgreSQL)
|
30
|
-
config.active_record.auto_explain_threshold_in_seconds = 0.5
|
31
|
-
|
32
23
|
# Do not compress assets
|
33
24
|
config.assets.compress = false
|
34
25
|
|
@@ -3,13 +3,14 @@ Dummy::Application.configure do
|
|
3
3
|
|
4
4
|
# Code is not reloaded between requests
|
5
5
|
config.cache_classes = true
|
6
|
+
config.eager_load = false
|
6
7
|
|
7
8
|
# Full error reports are disabled and caching is turned on
|
8
9
|
config.consider_all_requests_local = false
|
9
10
|
config.action_controller.perform_caching = true
|
10
11
|
|
11
12
|
# Disable Rails's static asset server (Apache or nginx will already do this)
|
12
|
-
config.
|
13
|
+
config.serve_static_files = false
|
13
14
|
|
14
15
|
# Compress JavaScripts and CSS
|
15
16
|
config.assets.compress = true
|
@@ -54,9 +55,6 @@ Dummy::Application.configure do
|
|
54
55
|
# Disable delivery errors, bad email addresses will be ignored
|
55
56
|
# config.action_mailer.raise_delivery_errors = false
|
56
57
|
|
57
|
-
# Enable threaded mode
|
58
|
-
# config.threadsafe!
|
59
|
-
|
60
58
|
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
61
59
|
# the I18n.default_locale when a translation can not be found)
|
62
60
|
config.i18n.fallbacks = true
|
@@ -6,14 +6,12 @@ Dummy::Application.configure do
|
|
6
6
|
# your test database is "scratch space" for the test suite and is wiped
|
7
7
|
# and recreated between test runs. Don't rely on the data there!
|
8
8
|
config.cache_classes = true
|
9
|
+
config.eager_load = false
|
9
10
|
|
10
11
|
# Configure static asset server for tests with Cache-Control for performance
|
11
|
-
config.
|
12
|
+
config.serve_static_files = true
|
12
13
|
config.static_cache_control = "public, max-age=3600"
|
13
14
|
|
14
|
-
# Log error messages when you accidentally call methods on nil
|
15
|
-
config.whiny_nils = true
|
16
|
-
|
17
15
|
# Show full error reports and disable caching
|
18
16
|
config.consider_all_requests_local = true
|
19
17
|
config.action_controller.perform_caching = false
|
@@ -29,9 +27,6 @@ Dummy::Application.configure do
|
|
29
27
|
# ActionMailer::Base.deliveries array.
|
30
28
|
config.action_mailer.delivery_method = :test
|
31
29
|
|
32
|
-
# Raise exception on mass assignment protection for Active Record models
|
33
|
-
config.active_record.mass_assignment_sanitizer = :strict
|
34
|
-
|
35
30
|
# Print deprecation notices to the stderr
|
36
31
|
config.active_support.deprecation = :stderr
|
37
32
|
end
|
@@ -5,3 +5,4 @@
|
|
5
5
|
# Make sure the secret is at least 30 characters and all random,
|
6
6
|
# no regular words or you'll be exposed to dictionary attacks.
|
7
7
|
Dummy::Application.config.secret_token = '8fc9a32d6e2d0d41ea3cd968e27cfee1e819a8516920a9cad3ec6a000ddfe8559a55752f9566d8cebba4466844e0790c0d664c2c989bb253925f4713ff2609f5'
|
8
|
+
Dummy::Application.config.secret_key_base = 'c598609edbe079079483ddc558a997ce28cc6ca3ae3d03a7332e2037292a4b99aeff5827c3f768995843ffbb94032b5b0852ff332f137aa1485c8c65773050eb'
|
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.
|
4
|
+
version: 0.7.0
|
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: 2016-01-
|
12
|
+
date: 2016-01-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -17,154 +17,168 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: '4.2'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: '4.2'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: octokit
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '4.
|
34
|
+
version: '4.2'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '4.
|
41
|
+
version: '4.2'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: will_paginate-bootstrap
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- - "
|
46
|
+
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '0'
|
48
|
+
version: '1.0'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- - "
|
53
|
+
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '0'
|
55
|
+
version: '1.0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: select2-rails
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 3.
|
62
|
+
version: '3.0'
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 3.
|
69
|
+
version: '3.0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: sass-rails
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
85
|
name: bootstrap-datepicker-rails
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
73
87
|
requirements:
|
74
88
|
- - "~>"
|
75
89
|
- !ruby/object:Gem::Version
|
76
|
-
version: 1.
|
90
|
+
version: '1.5'
|
77
91
|
type: :runtime
|
78
92
|
prerelease: false
|
79
93
|
version_requirements: !ruby/object:Gem::Requirement
|
80
94
|
requirements:
|
81
95
|
- - "~>"
|
82
96
|
- !ruby/object:Gem::Version
|
83
|
-
version: 1.
|
97
|
+
version: '1.5'
|
84
98
|
- !ruby/object:Gem::Dependency
|
85
99
|
name: mysql2
|
86
100
|
requirement: !ruby/object:Gem::Requirement
|
87
101
|
requirements:
|
88
102
|
- - "~>"
|
89
103
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.3.
|
104
|
+
version: 0.3.2
|
91
105
|
type: :development
|
92
106
|
prerelease: false
|
93
107
|
version_requirements: !ruby/object:Gem::Requirement
|
94
108
|
requirements:
|
95
109
|
- - "~>"
|
96
110
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.3.
|
111
|
+
version: 0.3.2
|
98
112
|
- !ruby/object:Gem::Dependency
|
99
113
|
name: rspec-rails
|
100
114
|
requirement: !ruby/object:Gem::Requirement
|
101
115
|
requirements:
|
102
116
|
- - "~>"
|
103
117
|
- !ruby/object:Gem::Version
|
104
|
-
version: 3.
|
118
|
+
version: '3.4'
|
105
119
|
type: :development
|
106
120
|
prerelease: false
|
107
121
|
version_requirements: !ruby/object:Gem::Requirement
|
108
122
|
requirements:
|
109
123
|
- - "~>"
|
110
124
|
- !ruby/object:Gem::Version
|
111
|
-
version: 3.
|
125
|
+
version: '3.4'
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: shoulda-matchers
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
115
129
|
requirements:
|
116
130
|
- - "~>"
|
117
131
|
- !ruby/object:Gem::Version
|
118
|
-
version: '2.
|
132
|
+
version: '2.8'
|
119
133
|
type: :development
|
120
134
|
prerelease: false
|
121
135
|
version_requirements: !ruby/object:Gem::Requirement
|
122
136
|
requirements:
|
123
137
|
- - "~>"
|
124
138
|
- !ruby/object:Gem::Version
|
125
|
-
version: '2.
|
139
|
+
version: '2.8'
|
126
140
|
- !ruby/object:Gem::Dependency
|
127
141
|
name: factory_girl_rails
|
128
142
|
requirement: !ruby/object:Gem::Requirement
|
129
143
|
requirements:
|
130
144
|
- - "~>"
|
131
145
|
- !ruby/object:Gem::Version
|
132
|
-
version: '4.
|
146
|
+
version: '4.5'
|
133
147
|
type: :development
|
134
148
|
prerelease: false
|
135
149
|
version_requirements: !ruby/object:Gem::Requirement
|
136
150
|
requirements:
|
137
151
|
- - "~>"
|
138
152
|
- !ruby/object:Gem::Version
|
139
|
-
version: '4.
|
153
|
+
version: '4.5'
|
140
154
|
- !ruby/object:Gem::Dependency
|
141
155
|
name: faker
|
142
156
|
requirement: !ruby/object:Gem::Requirement
|
143
157
|
requirements:
|
144
158
|
- - "~>"
|
145
159
|
- !ruby/object:Gem::Version
|
146
|
-
version: '1.
|
160
|
+
version: '1.6'
|
147
161
|
type: :development
|
148
162
|
prerelease: false
|
149
163
|
version_requirements: !ruby/object:Gem::Requirement
|
150
164
|
requirements:
|
151
165
|
- - "~>"
|
152
166
|
- !ruby/object:Gem::Version
|
153
|
-
version: '1.
|
167
|
+
version: '1.6'
|
154
168
|
- !ruby/object:Gem::Dependency
|
155
169
|
name: test-unit
|
156
170
|
requirement: !ruby/object:Gem::Requirement
|
157
171
|
requirements:
|
158
172
|
- - "~>"
|
159
173
|
- !ruby/object:Gem::Version
|
160
|
-
version: '3.
|
174
|
+
version: '3.1'
|
161
175
|
type: :development
|
162
176
|
prerelease: false
|
163
177
|
version_requirements: !ruby/object:Gem::Requirement
|
164
178
|
requirements:
|
165
179
|
- - "~>"
|
166
180
|
- !ruby/object:Gem::Version
|
167
|
-
version: '3.
|
181
|
+
version: '3.1'
|
168
182
|
description: Github Statistics
|
169
183
|
email:
|
170
184
|
- elliothursh@gmail.com
|
@@ -249,19 +263,19 @@ files:
|
|
249
263
|
- app/views/hubstats/pull_requests/show.html.erb
|
250
264
|
- app/views/hubstats/repos/index.html.erb
|
251
265
|
- app/views/hubstats/repos/show.html.erb
|
252
|
-
- app/views/hubstats/tables/_comments-condensed.html.erb
|
253
266
|
- app/views/hubstats/tables/_comments.html.erb
|
254
|
-
- app/views/hubstats/tables/
|
267
|
+
- app/views/hubstats/tables/_comments_condensed.html.erb
|
255
268
|
- app/views/hubstats/tables/_deploys.html.erb
|
269
|
+
- app/views/hubstats/tables/_deploys_condensed.html.erb
|
256
270
|
- app/views/hubstats/tables/_grouped_deploys.html.erb
|
257
271
|
- app/views/hubstats/tables/_grouped_pulls.html.erb
|
258
|
-
- app/views/hubstats/tables/_pulls-condensed.html.erb
|
259
272
|
- app/views/hubstats/tables/_pulls.html.erb
|
260
|
-
- app/views/hubstats/tables/
|
273
|
+
- app/views/hubstats/tables/_pulls_condensed.html.erb
|
261
274
|
- app/views/hubstats/tables/_repos.html.erb
|
275
|
+
- app/views/hubstats/tables/_repos_condensed.html.erb
|
262
276
|
- app/views/hubstats/tables/_teams.html.erb
|
263
|
-
- app/views/hubstats/tables/_users-condensed.html.erb
|
264
277
|
- app/views/hubstats/tables/_users.html.erb
|
278
|
+
- app/views/hubstats/tables/_users_condensed.html.erb
|
265
279
|
- app/views/hubstats/teams/index.html.erb
|
266
280
|
- app/views/hubstats/teams/show.html.erb
|
267
281
|
- app/views/hubstats/users/index.html.erb
|
@@ -381,7 +395,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
381
395
|
version: '0'
|
382
396
|
requirements: []
|
383
397
|
rubyforge_project:
|
384
|
-
rubygems_version: 2.4.
|
398
|
+
rubygems_version: 2.4.6
|
385
399
|
signing_key:
|
386
400
|
specification_version: 4
|
387
401
|
summary: Github Statistics
|