githubstats 2.0.0 → 3.2.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 +5 -5
- data/.circle-ruby +4 -3
- data/.prospectus +5 -19
- data/.travis.yml +10 -0
- data/CHANGELOG.md +19 -0
- data/README.md +1 -3
- data/githubstats.gemspec +9 -10
- data/lib/githubstats.rb +33 -27
- data/lib/githubstats/data.rb +23 -7
- data/lib/githubstats/version.rb +1 -1
- data/spec/githubstats/data_spec.rb +2 -2
- data/spec/githubstats_spec.rb +5 -3
- metadata +25 -54
- data/circle.yml +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: aa26d02c85e58b01ee8553a90a628aed98fa010b89142b056187d28467eb710a
|
|
4
|
+
data.tar.gz: b6671f2fa390ad49016cee0bc816a28d7063f7d2fc48a8b60aff5a6c4ebccdc0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4de055321d31ac225c4b519866a6a475268e20117daa8ba5f93164bfb00531d79722efadfe9bb655d81dc1cda91bb20d809f3d8c61657e1290b94e53f7c33f06
|
|
7
|
+
data.tar.gz: 7dd16f5fcb857c6f312123969f469080247886463d708fb270770bd169b35e1f192ae26e1dbc5b879d91a4c843bccabd7be72521b1f08b27f727e5c45647683f
|
data/.circle-ruby
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
2.
|
|
2
|
-
2.3
|
|
3
|
-
2.
|
|
1
|
+
2.6.1
|
|
2
|
+
2.5.3
|
|
3
|
+
2.4.5
|
|
4
|
+
2.3.8
|
data/.prospectus
CHANGED
|
@@ -1,25 +1,11 @@
|
|
|
1
|
-
Prospectus.extra_dep('file', 'prospectus_circleci')
|
|
2
|
-
|
|
3
1
|
my_slug = 'akerl/githubstats'
|
|
4
2
|
|
|
3
|
+
Prospectus.extra_dep('file', 'prospectus_travis')
|
|
4
|
+
Prospectus.extra_dep('file', 'prospectus_gems')
|
|
5
|
+
|
|
5
6
|
item do
|
|
6
7
|
noop
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
name 'gems'
|
|
11
|
-
|
|
12
|
-
expected do
|
|
13
|
-
static
|
|
14
|
-
set 'green'
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
actual do
|
|
18
|
-
gemnasium
|
|
19
|
-
slug my_slug
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
extend ProspectusCircleci::Build.new(my_slug)
|
|
9
|
+
extend ProspectusGems::Gemspec.new
|
|
10
|
+
extend ProspectusTravis::Build.new(my_slug)
|
|
25
11
|
end
|
data/.travis.yml
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
dist: xenial
|
|
2
|
+
install:
|
|
3
|
+
- for i in $(cat .circle-ruby) ; do rvm install $i || exit 1 ; done
|
|
4
|
+
- for i in $(cat .circle-ruby) ; do rvm-exec $i bundle install || exit 1 ; done
|
|
5
|
+
script:
|
|
6
|
+
- for i in $(cat .circle-ruby) ; do rvm-exec $i bundle exec rake || exit 1 ; done
|
|
7
|
+
notifications:
|
|
8
|
+
email: false
|
|
9
|
+
slack:
|
|
10
|
+
secure: PQOCIfuacnmF9MMGmZseYwGn8HfxmL1m7qqftoWhDkkp8oKLKVaSfoMPGAADWQsWLBl4JQC+z/lRH8I2gXChQjZhKZBz15bFH6mwFBI82DXidVNVxt27g/uR3RMT8GfGw8CkgW8DsSpNF+E4pBPOKONFLhj9Y0xdpAID7slrPwd6wDdpi4oDXvnfTO4ZfUZbB3OGT0nnzcH4gCiKXKijv4MRzHTVpvbwe+P3TOKkTY0V21B++YSBpX1tIYt6cLOHaDFQT4DScwFajtvynpwWf3PCRMCATganpyEqEpkiUp+dSg1h2WjYilAwVHkLnNaESUFKeTLQGIXpKMj4+3yHlIPPG6M2MawgwhSDuYy1IAE/81+Y06V9Sn9PPnICsjV1+W0LxnCms13t1JcVWrzVOtlzyCInKr8ENAX6Ku6SSQaouuqYghm1maG8ZtNhqyByqGctov7noLUH6T+lHS8ODr22cLg6f0lzVn5d13/aha9OvTZV7DN6uVCfwpbAL9S+u1TNtjrDhJQFohSe7X+jb+KxN7sLZR5Z5RKwM8sx6Tadf3rrvVRF5+jQxpb2IgjakV2QgxmVDrZDu3XXWbRUYMlGbmR4EEwDaKPJsjKh8KIu6GS6rhrQHiwvwDH6FQcXdeQsieLaVTBoKnE1slYvRMVTMZxFkAbI2dIt+H06c7c=
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
# 3.2.0 / 2021-02-06
|
|
2
|
+
|
|
3
|
+
* [BUGFIX] Update to handle GitHub changes to contribution data CSS
|
|
4
|
+
|
|
5
|
+
# 3.1.0 / 2020-10-06
|
|
6
|
+
|
|
7
|
+
* [FEATURE] Remove curb dependency, which allows githubstats to work on Windows systems. Thanks @ajmeese7!
|
|
8
|
+
|
|
9
|
+
# 3.0.1 / 2018-08-19
|
|
10
|
+
|
|
11
|
+
* [BUGFIX] Fix cap used to decide when to use real_streak GitHub polling
|
|
12
|
+
|
|
13
|
+
# 3.0.0 / 2018-07-18
|
|
14
|
+
|
|
15
|
+
* [BUGFIX] Update to work with recent GitHub changes for historic streak lookup API
|
|
16
|
+
* [FEATURE] Historic GitHub streaks now show actual stats instead of `-1` placeholders
|
|
17
|
+
* [FEATURE] It is now possible to convert a datapoint back to its original format with `.to_a`
|
|
18
|
+
* [FEATURE] Added `.start_date` and `.end_date` to Data object
|
|
19
|
+
|
|
1
20
|
# 2.0.0 / 2017-09-29
|
|
2
21
|
|
|
3
22
|
* [BUGFIX] Fail cleanly if Github responds with a bad HTTP code
|
data/README.md
CHANGED
|
@@ -2,10 +2,8 @@ GithubStats
|
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
4
|
[](https://rubygems.org/gems/githubstats)
|
|
5
|
-
[](https://circleci.com/gh/akerl/githubstats)
|
|
5
|
+
[](https://travis-ci.com/akerl/githubstats)
|
|
7
6
|
[](https://codecov.io/github/akerl/githubstats)
|
|
8
|
-
[](https://www.codacy.com/app/akerl/githubstats)
|
|
9
7
|
[](https://tldrlegal.com/license/mit-license)
|
|
10
8
|
|
|
11
9
|
Grabs Github contribution statistics and presents it in an easily consumable format.
|
data/githubstats.gemspec
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
require 'English'
|
|
2
|
-
$LOAD_PATH.unshift File.expand_path('
|
|
2
|
+
$LOAD_PATH.unshift File.expand_path('lib', __dir__)
|
|
3
3
|
require 'githubstats/version'
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |s|
|
|
6
6
|
s.name = 'githubstats'
|
|
7
7
|
s.version = GithubStats::VERSION
|
|
8
8
|
s.date = Time.now.strftime('%Y-%m-%d')
|
|
9
|
+
s.required_ruby_version = '>= 2.5.0'
|
|
9
10
|
|
|
10
11
|
s.summary = 'Present Github contributions stats in a consumable format'
|
|
11
|
-
s.description = 'Pulls the statistics from Github\'s user contribution chart and provides an interface for analyzing that data' # rubocop:disable
|
|
12
|
+
s.description = 'Pulls the statistics from Github\'s user contribution chart and provides an interface for analyzing that data' # rubocop:disable Layout/LineLength
|
|
12
13
|
s.authors = ['Les Aker']
|
|
13
14
|
s.email = 'me@lesaker.org'
|
|
14
15
|
s.homepage = 'https://github.com/akerl/githubstats'
|
|
@@ -18,15 +19,13 @@ Gem::Specification.new do |s|
|
|
|
18
19
|
s.test_files = `git ls-files spec/*`.split
|
|
19
20
|
s.executables = ['githubstats']
|
|
20
21
|
|
|
21
|
-
s.add_runtime_dependency 'curb', '~> 0.9.0'
|
|
22
22
|
s.add_runtime_dependency 'basiccache', '~> 1.0.0'
|
|
23
|
-
s.add_runtime_dependency 'nokogiri', '~> 1.8
|
|
23
|
+
s.add_runtime_dependency 'nokogiri', '~> 1.10.8'
|
|
24
24
|
|
|
25
|
-
s.add_development_dependency 'timecop', '~> 0.9.0'
|
|
26
|
-
s.add_development_dependency 'rubocop', '~> 0.50.0'
|
|
27
|
-
s.add_development_dependency 'goodcop', '~> 0.1.0'
|
|
28
|
-
s.add_development_dependency 'rake', '~> 12.1.0'
|
|
29
25
|
s.add_development_dependency 'codecov', '~> 0.1.1'
|
|
30
|
-
s.add_development_dependency '
|
|
31
|
-
s.add_development_dependency '
|
|
26
|
+
s.add_development_dependency 'fuubar', '~> 2.5.0'
|
|
27
|
+
s.add_development_dependency 'goodcop', '~> 0.9.3'
|
|
28
|
+
s.add_development_dependency 'rake', '~> 13.0.0'
|
|
29
|
+
s.add_development_dependency 'rspec', '~> 3.9.0'
|
|
30
|
+
s.add_development_dependency 'timecop', '~> 0.9.0'
|
|
32
31
|
end
|
data/lib/githubstats.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'curb'
|
|
4
3
|
require 'json'
|
|
5
4
|
require 'nokogiri'
|
|
5
|
+
require 'net/http'
|
|
6
6
|
require 'date'
|
|
7
7
|
require 'basiccache'
|
|
8
8
|
|
|
@@ -34,7 +34,7 @@ module GithubStats
|
|
|
34
34
|
##
|
|
35
35
|
# Default URL for grabbing data
|
|
36
36
|
|
|
37
|
-
DEFAULT_URL = "#{DEFAULT_HOST}/users/%s/contributions"
|
|
37
|
+
DEFAULT_URL = "#{DEFAULT_HOST}/users/%s/contributions"
|
|
38
38
|
|
|
39
39
|
##
|
|
40
40
|
# User object
|
|
@@ -51,8 +51,7 @@ module GithubStats
|
|
|
51
51
|
@name = params[:name] || guess_user
|
|
52
52
|
@url = (params[:url] || DEFAULT_URL) % @name
|
|
53
53
|
@last_updated = nil
|
|
54
|
-
enable_caching %i[streak longest_streak streaks
|
|
55
|
-
real_streak_start]
|
|
54
|
+
enable_caching %i[streak longest_streak streaks]
|
|
56
55
|
end
|
|
57
56
|
|
|
58
57
|
##
|
|
@@ -74,7 +73,7 @@ module GithubStats
|
|
|
74
73
|
|
|
75
74
|
def streaks
|
|
76
75
|
naive = data.streaks
|
|
77
|
-
return naive if naive.last.nil? || naive.last.size <
|
|
76
|
+
return naive if naive.last.nil? || naive.last.size < 364
|
|
78
77
|
[real_streak]
|
|
79
78
|
end
|
|
80
79
|
|
|
@@ -82,7 +81,7 @@ module GithubStats
|
|
|
82
81
|
# Set a custom longest_streak to account for the overriden streak
|
|
83
82
|
|
|
84
83
|
def longest_streak
|
|
85
|
-
return data.longest_streak if data.longest_streak.size <
|
|
84
|
+
return data.longest_streak if data.longest_streak.size < 364
|
|
86
85
|
streak
|
|
87
86
|
end
|
|
88
87
|
|
|
@@ -118,42 +117,49 @@ module GithubStats
|
|
|
118
117
|
|
|
119
118
|
def load_data
|
|
120
119
|
@data = GithubStats::Data.new download
|
|
121
|
-
@last_updated =
|
|
120
|
+
@last_updated = Time.now
|
|
122
121
|
end
|
|
123
122
|
|
|
124
123
|
##
|
|
125
|
-
# Set a custom longest_streak that takes into account GitHub
|
|
126
|
-
#
|
|
127
|
-
|
|
128
|
-
def
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
124
|
+
# Set a custom longest_streak that takes into account GitHub's
|
|
125
|
+
# historical records
|
|
126
|
+
|
|
127
|
+
def real_streak_rewind(partial_streak)
|
|
128
|
+
new_data = download(partial_streak.first.date - 1)
|
|
129
|
+
old_data = partial_streak.map(&:to_a)
|
|
130
|
+
new_stats = GithubStats::Data.new(new_data + old_data)
|
|
131
|
+
partial_streak = new_stats.streaks.last
|
|
132
|
+
return partial_streak if partial_streak.first.date != new_stats.start_date
|
|
133
|
+
real_streak_rewind partial_streak
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
def real_streak
|
|
137
|
-
|
|
138
|
-
first_date = existing.first.date
|
|
139
|
-
extra_size = (first_date - real_streak_start(first_date))
|
|
140
|
-
[-1] * extra_size + existing
|
|
137
|
+
@real_streak ||= real_streak_rewind(data.streaks.last)
|
|
141
138
|
end
|
|
142
139
|
|
|
143
140
|
##
|
|
144
141
|
# Downloads new data from Github
|
|
145
142
|
|
|
146
|
-
def download(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
html = Nokogiri::HTML(res.body_str)
|
|
152
|
-
html.css('.day').map do |x|
|
|
143
|
+
def download(to_date = nil)
|
|
144
|
+
resp = request(to_date)
|
|
145
|
+
html = Nokogiri::HTML(resp)
|
|
146
|
+
svg = html.at_css('svg.js-calendar-graph-svg')
|
|
147
|
+
svg.css('.ContributionCalendar-day').map do |x|
|
|
153
148
|
x.attributes.values_at('data-date', 'data-count').map(&:value)
|
|
154
149
|
end
|
|
155
150
|
end
|
|
156
151
|
|
|
152
|
+
def request(to_date = nil)
|
|
153
|
+
url = to_date ? @url + "?to=#{to_date.strftime('%Y-%m-%d')}" : @url
|
|
154
|
+
# https://stackoverflow.com/a/5786863/6456163
|
|
155
|
+
resp = Net::HTTP.get_response(URI(url))
|
|
156
|
+
code = resp.code
|
|
157
|
+
raise("Failed loading data from GitHub: #{url} #{code}") if code != '200'
|
|
158
|
+
resp.body
|
|
159
|
+
rescue SocketError
|
|
160
|
+
raise RuntimeError
|
|
161
|
+
end
|
|
162
|
+
|
|
157
163
|
def method_missing(sym, *args, &block)
|
|
158
164
|
load_data if @last_updated.nil?
|
|
159
165
|
return super unless @data.respond_to? sym
|
data/lib/githubstats/data.rb
CHANGED
|
@@ -12,7 +12,11 @@ module GithubStats
|
|
|
12
12
|
##
|
|
13
13
|
# Helper struct for defining datapoints
|
|
14
14
|
|
|
15
|
-
Datapoint = Struct.new(:date, :score)
|
|
15
|
+
Datapoint = Struct.new(:date, :score) do
|
|
16
|
+
def to_a
|
|
17
|
+
[date.strftime('%Y-%m-%d'), score.to_s]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
16
20
|
|
|
17
21
|
##
|
|
18
22
|
# Data class for calculations
|
|
@@ -31,7 +35,8 @@ module GithubStats
|
|
|
31
35
|
def initialize(data)
|
|
32
36
|
@raw = data.map { |d, s| Datapoint.new(Date.parse(d), s.to_i) }
|
|
33
37
|
enable_caching %i[to_h today streaks longest_streak streak max mean
|
|
34
|
-
std_var quartile_boundaries quartiles
|
|
38
|
+
std_var quartile_boundaries quartiles start_date
|
|
39
|
+
end_date]
|
|
35
40
|
end
|
|
36
41
|
|
|
37
42
|
##
|
|
@@ -43,6 +48,19 @@ module GithubStats
|
|
|
43
48
|
end
|
|
44
49
|
end
|
|
45
50
|
|
|
51
|
+
##
|
|
52
|
+
# The start of the dataset
|
|
53
|
+
|
|
54
|
+
def start_date
|
|
55
|
+
@raw.first.date
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
##
|
|
59
|
+
# The end of the dataset
|
|
60
|
+
def end_date
|
|
61
|
+
@raw.last.date
|
|
62
|
+
end
|
|
63
|
+
|
|
46
64
|
##
|
|
47
65
|
# The score for today
|
|
48
66
|
|
|
@@ -102,7 +120,7 @@ module GithubStats
|
|
|
102
120
|
# The mean score
|
|
103
121
|
|
|
104
122
|
def mean
|
|
105
|
-
scores.
|
|
123
|
+
scores.sum / @raw.size.to_f
|
|
106
124
|
end
|
|
107
125
|
|
|
108
126
|
##
|
|
@@ -162,7 +180,7 @@ module GithubStats
|
|
|
162
180
|
# Return the quartile of a given score
|
|
163
181
|
|
|
164
182
|
def quartile(score)
|
|
165
|
-
return nil if score
|
|
183
|
+
return nil if score.negative? || score > max.score
|
|
166
184
|
quartile_boundaries.count { |bound| score > bound }
|
|
167
185
|
end
|
|
168
186
|
|
|
@@ -179,9 +197,7 @@ module GithubStats
|
|
|
179
197
|
def _pad(data, index, fill_value, goal)
|
|
180
198
|
mod = index * -2 - 1 # 0 index moves -1 in time, -1 move +1 in time
|
|
181
199
|
point = GithubStats::Datapoint
|
|
182
|
-
until data[index].date.wday == goal
|
|
183
|
-
data.insert index, point.new(data[index].date + mod, fill_value)
|
|
184
|
-
end
|
|
200
|
+
data.insert index, point.new(data[index].date + mod, fill_value) until data[index].date.wday == goal
|
|
185
201
|
data
|
|
186
202
|
end
|
|
187
203
|
end
|
data/lib/githubstats/version.rb
CHANGED
|
@@ -7,8 +7,8 @@ describe GithubStats do
|
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
it 'defines a Datapoint object' do
|
|
10
|
-
a = GithubStats::Datapoint.new(
|
|
11
|
-
expect(a.date).to be_an_instance_of
|
|
10
|
+
a = GithubStats::Datapoint.new(Time.now, 4)
|
|
11
|
+
expect(a.date).to be_an_instance_of Time
|
|
12
12
|
expect(a.score).to eql 4
|
|
13
13
|
end
|
|
14
14
|
|
data/spec/githubstats_spec.rb
CHANGED
|
@@ -10,7 +10,9 @@ describe GithubStats do
|
|
|
10
10
|
describe GithubStats::User do
|
|
11
11
|
let(:named_user) { GithubStats::User.new 'akerl' }
|
|
12
12
|
let(:unnamed_user) { GithubStats::User.new }
|
|
13
|
-
let(:hash_user)
|
|
13
|
+
let(:hash_user) do
|
|
14
|
+
GithubStats::User.new(name: 'fly', url: 'https://URL-%s')
|
|
15
|
+
end
|
|
14
16
|
|
|
15
17
|
context 'when created with a string' do
|
|
16
18
|
it 'uses that string as the username' do
|
|
@@ -30,7 +32,7 @@ describe GithubStats do
|
|
|
30
32
|
expect(hash_user.name).to eql 'fly'
|
|
31
33
|
end
|
|
32
34
|
it 'uses the URL from the hash' do
|
|
33
|
-
expect(hash_user.url).to eql 'URL-
|
|
35
|
+
expect(hash_user.url).to eql 'https://URL-fly'
|
|
34
36
|
end
|
|
35
37
|
end
|
|
36
38
|
|
|
@@ -39,7 +41,7 @@ describe GithubStats do
|
|
|
39
41
|
expect(named_user.last_updated).to be_nil
|
|
40
42
|
named_user.data
|
|
41
43
|
expect(named_user.instance_variables).to include(:@data)
|
|
42
|
-
expect(named_user.last_updated).to be_an_instance_of
|
|
44
|
+
expect(named_user.last_updated).to be_an_instance_of Time
|
|
43
45
|
end
|
|
44
46
|
|
|
45
47
|
it 'raises an exception if it cannot load data' do
|
metadata
CHANGED
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: githubstats
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0
|
|
4
|
+
version: 3.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Les Aker
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-02-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: curb
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.9.0
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.9.0
|
|
27
13
|
- !ruby/object:Gem::Dependency
|
|
28
14
|
name: basiccache
|
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -44,112 +30,98 @@ dependencies:
|
|
|
44
30
|
requirements:
|
|
45
31
|
- - "~>"
|
|
46
32
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.8
|
|
33
|
+
version: 1.10.8
|
|
48
34
|
type: :runtime
|
|
49
35
|
prerelease: false
|
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
37
|
requirements:
|
|
52
38
|
- - "~>"
|
|
53
39
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 1.8
|
|
40
|
+
version: 1.10.8
|
|
55
41
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
42
|
+
name: codecov
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
58
44
|
requirements:
|
|
59
45
|
- - "~>"
|
|
60
46
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.
|
|
47
|
+
version: 0.1.1
|
|
62
48
|
type: :development
|
|
63
49
|
prerelease: false
|
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
51
|
requirements:
|
|
66
52
|
- - "~>"
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.
|
|
54
|
+
version: 0.1.1
|
|
69
55
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
56
|
+
name: fuubar
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
72
58
|
requirements:
|
|
73
59
|
- - "~>"
|
|
74
60
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
61
|
+
version: 2.5.0
|
|
76
62
|
type: :development
|
|
77
63
|
prerelease: false
|
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
65
|
requirements:
|
|
80
66
|
- - "~>"
|
|
81
67
|
- !ruby/object:Gem::Version
|
|
82
|
-
version:
|
|
68
|
+
version: 2.5.0
|
|
83
69
|
- !ruby/object:Gem::Dependency
|
|
84
70
|
name: goodcop
|
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
|
86
72
|
requirements:
|
|
87
73
|
- - "~>"
|
|
88
74
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 0.
|
|
75
|
+
version: 0.9.3
|
|
90
76
|
type: :development
|
|
91
77
|
prerelease: false
|
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
79
|
requirements:
|
|
94
80
|
- - "~>"
|
|
95
81
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: 0.
|
|
82
|
+
version: 0.9.3
|
|
97
83
|
- !ruby/object:Gem::Dependency
|
|
98
84
|
name: rake
|
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
|
100
86
|
requirements:
|
|
101
87
|
- - "~>"
|
|
102
88
|
- !ruby/object:Gem::Version
|
|
103
|
-
version:
|
|
89
|
+
version: 13.0.0
|
|
104
90
|
type: :development
|
|
105
91
|
prerelease: false
|
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
93
|
requirements:
|
|
108
94
|
- - "~>"
|
|
109
95
|
- !ruby/object:Gem::Version
|
|
110
|
-
version:
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: codecov
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - "~>"
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: 0.1.1
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - "~>"
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: 0.1.1
|
|
96
|
+
version: 13.0.0
|
|
125
97
|
- !ruby/object:Gem::Dependency
|
|
126
98
|
name: rspec
|
|
127
99
|
requirement: !ruby/object:Gem::Requirement
|
|
128
100
|
requirements:
|
|
129
101
|
- - "~>"
|
|
130
102
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 3.
|
|
103
|
+
version: 3.9.0
|
|
132
104
|
type: :development
|
|
133
105
|
prerelease: false
|
|
134
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
107
|
requirements:
|
|
136
108
|
- - "~>"
|
|
137
109
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: 3.
|
|
110
|
+
version: 3.9.0
|
|
139
111
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name:
|
|
112
|
+
name: timecop
|
|
141
113
|
requirement: !ruby/object:Gem::Requirement
|
|
142
114
|
requirements:
|
|
143
115
|
- - "~>"
|
|
144
116
|
- !ruby/object:Gem::Version
|
|
145
|
-
version:
|
|
117
|
+
version: 0.9.0
|
|
146
118
|
type: :development
|
|
147
119
|
prerelease: false
|
|
148
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
121
|
requirements:
|
|
150
122
|
- - "~>"
|
|
151
123
|
- !ruby/object:Gem::Version
|
|
152
|
-
version:
|
|
124
|
+
version: 0.9.0
|
|
153
125
|
description: Pulls the statistics from Github's user contribution chart and provides
|
|
154
126
|
an interface for analyzing that data
|
|
155
127
|
email: me@lesaker.org
|
|
@@ -163,13 +135,13 @@ files:
|
|
|
163
135
|
- ".prospectus"
|
|
164
136
|
- ".rspec"
|
|
165
137
|
- ".rubocop.yml"
|
|
138
|
+
- ".travis.yml"
|
|
166
139
|
- CHANGELOG.md
|
|
167
140
|
- Gemfile
|
|
168
141
|
- LICENSE
|
|
169
142
|
- README.md
|
|
170
143
|
- Rakefile
|
|
171
144
|
- bin/githubstats
|
|
172
|
-
- circle.yml
|
|
173
145
|
- githubstats.gemspec
|
|
174
146
|
- lib/githubstats.rb
|
|
175
147
|
- lib/githubstats/data.rb
|
|
@@ -189,7 +161,7 @@ homepage: https://github.com/akerl/githubstats
|
|
|
189
161
|
licenses:
|
|
190
162
|
- MIT
|
|
191
163
|
metadata: {}
|
|
192
|
-
post_install_message:
|
|
164
|
+
post_install_message:
|
|
193
165
|
rdoc_options: []
|
|
194
166
|
require_paths:
|
|
195
167
|
- lib
|
|
@@ -197,16 +169,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
197
169
|
requirements:
|
|
198
170
|
- - ">="
|
|
199
171
|
- !ruby/object:Gem::Version
|
|
200
|
-
version:
|
|
172
|
+
version: 2.5.0
|
|
201
173
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
174
|
requirements:
|
|
203
175
|
- - ">="
|
|
204
176
|
- !ruby/object:Gem::Version
|
|
205
177
|
version: '0'
|
|
206
178
|
requirements: []
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
signing_key:
|
|
179
|
+
rubygems_version: 3.1.2
|
|
180
|
+
signing_key:
|
|
210
181
|
specification_version: 4
|
|
211
182
|
summary: Present Github contributions stats in a consumable format
|
|
212
183
|
test_files:
|
data/circle.yml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
dependencies:
|
|
2
|
-
override:
|
|
3
|
-
- 'for i in $(cat .circle-ruby) ; do rvm-exec $i gem update --system --no-doc || exit 1 ; done'
|
|
4
|
-
- 'for i in $(cat .circle-ruby) ; do rvm-exec $i bundle install || exit 1 ; done'
|
|
5
|
-
test:
|
|
6
|
-
override:
|
|
7
|
-
- 'for i in $(cat .circle-ruby) ; do rvm-exec $i bundle exec rake || exit 1 ; done'
|