githubstats 1.4.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3c307d3a81b095f9d6770eadfb18993ce55c93cf
4
- data.tar.gz: c8ed40abb6f5172280d4beb99b0dc51d1b45cb99
2
+ SHA256:
3
+ metadata.gz: 63d1760b40fbefddd2aa5c8fba01de7eb8b9d4924ba16c3e6e32030265d1a4a7
4
+ data.tar.gz: b7c45953695c48422332f089338443e9d622d4c25991676a32e6ed28b9e7402d
5
5
  SHA512:
6
- metadata.gz: 8c6efa12319ea49fe4b8f979325d76caa829949ed625e39e672440f23bf8112ba22848216c5c94a4557b01f6918c4b1064dfeaefd21f0fd6f26a37cf6759ff38
7
- data.tar.gz: 5c04f745c7b7e0f10e46831dcad1b1792863e6cf3c0c08b570dcaae718c38bfbdf96a6e78e67a7bdc15cb26ca7895ebb5857dd0ff3d843160bbca0ac2b4bb72c
6
+ metadata.gz: ed67ab09a4247ed69c8a12d597010ca7dd1e7f76add17553834d54fa350a3bd93fc402575fdf202ee05bf486ca2c1c386d8f8800daff3b1c8bf17b3704fc6ab5
7
+ data.tar.gz: 0154bdd9747143f0974313aff0a53b03d8252fab6e104af13ebade18d20057cbd8a62c0057032ccef9e9a60d3a441f66d1521a9cac1bd9efe700b87b3fe014f3
@@ -1,3 +1,4 @@
1
- 2.4.1
2
- 2.3.4
3
- 2.2.7
1
+ 2.6.1
2
+ 2.5.3
3
+ 2.4.5
4
+ 2.3.8
@@ -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
- deps do
9
- item do
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
@@ -1,4 +1,5 @@
1
- Encoding:
2
- Enabled: false
1
+ inherit_gem:
2
+ goodcop: .rubocop.yml
3
3
  Metrics/BlockLength:
4
- Enabled: false
4
+ Exclude:
5
+ - 'spec/**/*'
@@ -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=
@@ -1,3 +1,22 @@
1
+ # 3.1.0 / 2020-10-06
2
+
3
+ * [FEATURE] Remove curb dependency, which allows githubstats to work on Windows systems. Thanks @ajmeese7!
4
+
5
+ # 3.0.1 / 2018-08-19
6
+
7
+ * [BUGFIX] Fix cap used to decide when to use real_streak GitHub polling
8
+
9
+ # 3.0.0 / 2018-07-18
10
+
11
+ * [BUGFIX] Update to work with recent GitHub changes for historic streak lookup API
12
+ * [FEATURE] Historic GitHub streaks now show actual stats instead of `-1` placeholders
13
+ * [FEATURE] It is now possible to convert a datapoint back to its original format with `.to_a`
14
+ * [FEATURE] Added `.start_date` and `.end_date` to Data object
15
+
16
+ # 2.0.0 / 2017-09-29
17
+
18
+ * [BUGFIX] Fail cleanly if Github responds with a bad HTTP code
19
+
1
20
  # 1.4.0 / 2017-06-09
2
21
 
3
22
  * [ENHANCEMENT] Cache more data methods
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
-
data/README.md CHANGED
@@ -2,10 +2,8 @@ GithubStats
2
2
  =========
3
3
 
4
4
  [![Gem Version](https://img.shields.io/gem/v/githubstats.svg)](https://rubygems.org/gems/githubstats)
5
- [![Dependency Status](https://img.shields.io/gemnasium/akerl/githubstats.svg)](https://gemnasium.com/akerl/githubstats)
6
- [![Build Status](https://img.shields.io/circleci/project/akerl/githubstats/master.svg)](https://circleci.com/gh/akerl/githubstats)
5
+ [![Build Status](https://img.shields.io/travis/com/akerl/githubstats.svg)](https://travis-ci.com/akerl/githubstats)
7
6
  [![Coverage Status](https://img.shields.io/codecov/c/github/akerl/githubstats.svg)](https://codecov.io/github/akerl/githubstats)
8
- [![Code Quality](https://img.shields.io/codacy/d25d2521df3f4a6b8369edd419438d97.svg)](https://www.codacy.com/app/akerl/githubstats)
9
7
  [![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://tldrlegal.com/license/mit-license)
10
8
 
11
9
  Grabs Github contribution statistics and presents it in an easily consumable format.
data/Rakefile CHANGED
@@ -7,8 +7,7 @@ RSpec::Core::RakeTask.new(:spec)
7
7
 
8
8
  desc 'Run Rubocop on the gem'
9
9
  RuboCop::RakeTask.new(:rubocop) do |task|
10
- task.patterns = ['lib/**/*.rb', 'spec/**/*.rb']
11
10
  task.fail_on_error = true
12
11
  end
13
12
 
14
- task default: [:spec, :rubocop, :build, :install]
13
+ task default: %i[spec rubocop build install]
@@ -1,13 +1,14 @@
1
- $:.unshift File.expand_path('../lib/', __FILE__)
1
+ require 'English'
2
+ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
2
3
  require 'githubstats/version'
3
4
 
4
5
  Gem::Specification.new do |s|
5
6
  s.name = 'githubstats'
6
7
  s.version = GithubStats::VERSION
7
- s.date = Time.now.strftime("%Y-%m-%d")
8
+ s.date = Time.now.strftime('%Y-%m-%d')
8
9
 
9
10
  s.summary = 'Present Github contributions stats in a consumable format'
10
- s.description = "Pulls the statistics from Github's user contribution chart and provides an interface for analyzing that data"
11
+ s.description = 'Pulls the statistics from Github\'s user contribution chart and provides an interface for analyzing that data' # rubocop:disable Metrics/LineLength
11
12
  s.authors = ['Les Aker']
12
13
  s.email = 'me@lesaker.org'
13
14
  s.homepage = 'https://github.com/akerl/githubstats'
@@ -17,14 +18,14 @@ Gem::Specification.new do |s|
17
18
  s.test_files = `git ls-files spec/*`.split
18
19
  s.executables = ['githubstats']
19
20
 
20
- s.add_runtime_dependency 'curb', '~> 0.9.0'
21
21
  s.add_runtime_dependency 'basiccache', '~> 1.0.0'
22
- s.add_runtime_dependency 'nokogiri', '~> 1.8.0'
22
+ s.add_runtime_dependency 'nokogiri', '~> 1.10.8'
23
23
 
24
- s.add_development_dependency 'timecop', '~> 0.8.0'
25
- s.add_development_dependency 'rubocop', '~> 0.49.0'
26
- s.add_development_dependency 'rake', '~> 12.0.0'
27
24
  s.add_development_dependency 'codecov', '~> 0.1.1'
28
- s.add_development_dependency 'rspec', '~> 3.6.0'
29
- s.add_development_dependency 'fuubar', '~> 2.2.0'
25
+ s.add_development_dependency 'fuubar', '~> 2.5.0'
26
+ s.add_development_dependency 'goodcop', '~> 0.8.0'
27
+ s.add_development_dependency 'rake', '~> 13.0.0'
28
+ s.add_development_dependency 'rspec', '~> 3.9.0'
29
+ s.add_development_dependency 'rubocop', '~> 0.76.0'
30
+ s.add_development_dependency 'timecop', '~> 0.9.0'
30
31
  end
@@ -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,14 +34,14 @@ module GithubStats
34
34
  ##
35
35
  # Default URL for grabbing data
36
36
 
37
- DEFAULT_URL = "#{DEFAULT_HOST}/users/%s/contributions".freeze
37
+ DEFAULT_URL = "#{DEFAULT_HOST}/users/%s/contributions"
38
38
 
39
39
  ##
40
40
  # User object
41
41
  class User
42
42
  include MethodCacher
43
43
 
44
- attr_reader :name, :url, :data, :last_updated
44
+ attr_reader :name, :url, :last_updated
45
45
 
46
46
  ##
47
47
  # Creates a new 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 real_streak
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 < 365
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 < 365
84
+ return data.longest_streak if data.longest_streak.size < 364
86
85
  streak
87
86
  end
88
87
 
@@ -118,40 +117,46 @@ module GithubStats
118
117
 
119
118
  def load_data
120
119
  @data = GithubStats::Data.new download
121
- @last_updated = DateTime.now
120
+ @last_updated = Time.now
122
121
  end
123
122
 
124
123
  ##
125
- # Set a custom longest_streak that takes into account GitHub,
126
- # which reports full length but only gives data for a year
127
-
128
- def real_streak_start(chart_start)
129
- res = GithubStats::Data.new download(chart_start.strftime('%Y-%m-%d'))
130
- last_streak_start = res.streaks.last.first.date
131
- new_chart_start = res.raw.first.date
132
- return last_streak_start unless last_streak_start == new_chart_start
133
- real_streak_start(new_chart_start)
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
- existing = data.streaks.last
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(from = nil)
147
- url = from ? @url + "?from=#{from}" : @url
148
- svg = Curl::Easy.perform(url).body_str
149
- html = Nokogiri::HTML(svg)
143
+ def download(to_date = nil)
144
+ resp = request(to_date)
145
+ html = Nokogiri::HTML(resp)
150
146
  html.css('.day').map do |x|
151
147
  x.attributes.values_at('data-date', 'data-count').map(&:value)
152
148
  end
153
- rescue
154
- raise 'Unable to load data from Github'
149
+ end
150
+
151
+ def request(to_date = nil)
152
+ url = to_date ? @url + "?to=#{to_date.strftime('%Y-%m-%d')}" : @url
153
+ # https://stackoverflow.com/a/5786863/6456163
154
+ resp = Net::HTTP.get_response(URI(url))
155
+ code = resp.code
156
+ raise("Failed loading data from GitHub: #{url} #{code}") if code != '200'
157
+ resp.body
158
+ rescue SocketError
159
+ raise RuntimeError
155
160
  end
156
161
 
157
162
  def method_missing(sym, *args, &block)
@@ -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
 
@@ -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 < 0 || score > max.score
183
+ return nil if score.negative? || score > max.score
166
184
  quartile_boundaries.count { |bound| score > bound }
167
185
  end
168
186
 
@@ -3,5 +3,5 @@
3
3
  ##
4
4
  # Define the version
5
5
  module GithubStats
6
- VERSION = '1.4.0'.freeze
6
+ VERSION = '3.1.0'
7
7
  end
@@ -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(DateTime.now, 4)
11
- expect(a.date).to be_an_instance_of DateTime
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
 
@@ -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) { GithubStats::User.new(name: 'fly', url: 'URL-FOR-%s') }
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-FOR-fly'
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 DateTime
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,141 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: githubstats
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 3.1.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: 2017-06-09 00:00:00.000000000 Z
11
+ date: 2020-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: curb
14
+ name: basiccache
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.9.0
19
+ version: 1.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.9.0
26
+ version: 1.0.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: basiccache
28
+ name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0
33
+ version: 1.10.8
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.0
40
+ version: 1.10.8
41
41
  - !ruby/object:Gem::Dependency
42
- name: nokogiri
42
+ name: codecov
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.8.0
48
- type: :runtime
47
+ version: 0.1.1
48
+ type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.8.0
54
+ version: 0.1.1
55
55
  - !ruby/object:Gem::Dependency
56
- name: timecop
56
+ name: fuubar
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.8.0
61
+ version: 2.5.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.8.0
68
+ version: 2.5.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: rubocop
70
+ name: goodcop
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.49.0
75
+ version: 0.8.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.49.0
82
+ version: 0.8.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 12.0.0
89
+ version: 13.0.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 12.0.0
96
+ version: 13.0.0
97
97
  - !ruby/object:Gem::Dependency
98
- name: codecov
98
+ name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.1.1
103
+ version: 3.9.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.1.1
110
+ version: 3.9.0
111
111
  - !ruby/object:Gem::Dependency
112
- name: rspec
112
+ name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 3.6.0
117
+ version: 0.76.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 3.6.0
124
+ version: 0.76.0
125
125
  - !ruby/object:Gem::Dependency
126
- name: fuubar
126
+ name: timecop
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 2.2.0
131
+ version: 0.9.0
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 2.2.0
138
+ version: 0.9.0
139
139
  description: Pulls the statistics from Github's user contribution chart and provides
140
140
  an interface for analyzing that data
141
141
  email: me@lesaker.org
@@ -149,13 +149,13 @@ files:
149
149
  - ".prospectus"
150
150
  - ".rspec"
151
151
  - ".rubocop.yml"
152
+ - ".travis.yml"
152
153
  - CHANGELOG.md
153
154
  - Gemfile
154
155
  - LICENSE
155
156
  - README.md
156
157
  - Rakefile
157
158
  - bin/githubstats
158
- - circle.yml
159
159
  - githubstats.gemspec
160
160
  - lib/githubstats.rb
161
161
  - lib/githubstats/data.rb
@@ -175,7 +175,7 @@ homepage: https://github.com/akerl/githubstats
175
175
  licenses:
176
176
  - MIT
177
177
  metadata: {}
178
- post_install_message:
178
+ post_install_message:
179
179
  rdoc_options: []
180
180
  require_paths:
181
181
  - lib
@@ -190,9 +190,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
190
190
  - !ruby/object:Gem::Version
191
191
  version: '0'
192
192
  requirements: []
193
- rubyforge_project:
194
- rubygems_version: 2.6.11
195
- signing_key:
193
+ rubygems_version: 3.1.2
194
+ signing_key:
196
195
  specification_version: 4
197
196
  summary: Present Github contributions stats in a consumable format
198
197
  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'