githubstats 1.1.0 → 1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 50f60efff64d0f16cb368e3964c32fca414f84f4
4
- data.tar.gz: 761f7a06d141a84de7e452cf1069d9f41fcb4cf8
3
+ metadata.gz: 73a4589f2413428f9fc4f99a83b71f384d044c87
4
+ data.tar.gz: 8e6227b109a3661f9660e3e61dd1b42470ce39f8
5
5
  SHA512:
6
- metadata.gz: 11a06438ac2277e0074adab955fac78dd0a6519b991576e449a743a0e55275e5b20e7fc645401075ca336446139fd597d76701b9f38bc5965fc383bebe9b0afa
7
- data.tar.gz: 398ddcd18a824f90b415a202b51d60ad4862a3861c5c7b8f1a98560a8facfae43ee5e5ba44874664676e2c2f791c1936031478f01974fe0ac48b1fe678f3b956
6
+ metadata.gz: a885d8710bdb00b7cdc23236f9e2cee904d80d979408b2e254019b1d3aaaca83b591e083ef0fac9ed38c14c423d86c45cc6e3747563b0d6f4a6bc55ec94af9cd
7
+ data.tar.gz: 765be9c077cbca2218213bd922138371b802dd827d3d71f7ee9fd47fef8026e4fa1e153dcc41c87be4658beab2b2c75b8b6616ce448cc6b3b64a74c1f4b1ce30
@@ -0,0 +1,11 @@
1
+ item do
2
+ expected do
3
+ static
4
+ set 'green'
5
+ end
6
+
7
+ actual do
8
+ gemnasium
9
+ slug 'akerl/githubstats'
10
+ end
11
+ end
@@ -1,3 +1,7 @@
1
+ # 1.2.0 / 2016-05-19
2
+
3
+ * [BUGFIX] Remove support for streak lookup longer than 366 days from GitHub, since they removed display of longer streaks. :(
4
+
1
5
  # 1.1.0 / 2015-08-19
2
6
 
3
7
  * [FEATURE] For GitHub streaks longer than 1 year, GithubStats::User#streak and #longest_streak poll GitHub for the accurate streak size. The resulting array is left-padded with -1 entries for days with no known score
data/README.md CHANGED
@@ -3,9 +3,9 @@ GithubStats
3
3
 
4
4
  [![Gem Version](https://img.shields.io/gem/v/githubstats.svg)](https://rubygems.org/gems/githubstats)
5
5
  [![Dependency Status](https://img.shields.io/gemnasium/akerl/githubstats.svg)](https://gemnasium.com/akerl/githubstats)
6
- [![Code Climate](https://img.shields.io/codeclimate/github/akerl/githubstats.svg)](https://codeclimate.com/github/akerl/githubstats)
7
- [![Coverage Status](https://img.shields.io/coveralls/akerl/githubstats.svg)](https://coveralls.io/r/akerl/githubstats)
8
- [![Build Status](https://img.shields.io/travis/akerl/githubstats.svg)](https://travis-ci.org/akerl/githubstats)
6
+ [![Build Status](https://img.shields.io/circleci/project/akerl/githubstats.svg)](https://circleci.com/gh/akerl/githubstats)
7
+ [![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
9
  [![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://tldrlegal.com/license/mit-license)
10
10
 
11
11
  Grabs Github contribution statistics and presents it in an easily consumable format.
@@ -0,0 +1,12 @@
1
+ dependencies:
2
+ override:
3
+ - 'rvm-exec 1.9.3-p551 bundle install'
4
+ - 'rvm-exec 2.0.0-p645 bundle install'
5
+ - 'rvm-exec 2.1.6 bundle install'
6
+ - 'rvm-exec 2.2.2 bundle install'
7
+ test:
8
+ override:
9
+ - 'rvm-exec 1.9.3-p551 bundle exec rake'
10
+ - 'rvm-exec 2.0.0-p645 bundle exec rake'
11
+ - 'rvm-exec 2.1.6 bundle exec rake'
12
+ - 'rvm-exec 2.2.2 bundle exec rake'
@@ -17,14 +17,14 @@ Gem::Specification.new do |s|
17
17
  s.test_files = `git ls-files spec/*`.split
18
18
  s.executables = ['githubstats']
19
19
 
20
- s.add_runtime_dependency 'curb', '~> 0.8.6'
20
+ s.add_runtime_dependency 'curb', '~> 0.9.0'
21
21
  s.add_runtime_dependency 'basiccache', '~> 1.0.0'
22
22
  s.add_runtime_dependency 'nokogiri', '~> 1.6.5'
23
23
 
24
24
  s.add_development_dependency 'timecop', '~> 0.8.0'
25
- s.add_development_dependency 'rubocop', '~> 0.33.0'
26
- s.add_development_dependency 'rake', '~> 10.4.0'
27
- s.add_development_dependency 'coveralls', '~> 0.8.0'
28
- s.add_development_dependency 'rspec', '~> 3.3.0'
25
+ s.add_development_dependency 'rubocop', '~> 0.40.0'
26
+ s.add_development_dependency 'rake', '~> 11.1.0'
27
+ s.add_development_dependency 'codecov', '~> 0.1.1'
28
+ s.add_development_dependency 'rspec', '~> 3.4.0'
29
29
  s.add_development_dependency 'fuubar', '~> 2.0.0'
30
30
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'curb'
2
3
  require 'json'
3
4
  require 'nokogiri'
@@ -25,12 +26,12 @@ module GithubStats
25
26
  ##
26
27
  # Default host for grabbing data
27
28
 
28
- DEFAULT_HOST = ENV['GITHUB_URL'] || 'https://github.com'
29
+ DEFAULT_HOST = (ENV['GITHUB_URL'] || 'https://github.com').freeze
29
30
 
30
31
  ##
31
32
  # Default URL for grabbing data
32
33
 
33
- DEFAULT_URL = "#{DEFAULT_HOST}/users/%s/contributions"
34
+ DEFAULT_URL = "#{DEFAULT_HOST}/users/%s/contributions".freeze
34
35
 
35
36
  ##
36
37
  # User object
@@ -53,25 +54,7 @@ module GithubStats
53
54
  def to_s
54
55
  "Contributions from #{@name}"
55
56
  end
56
- alias_method :inspect, :to_s
57
-
58
- ##
59
- # Set a custom streak that takes into account GitHub,
60
- # which reports full length but only gives data for a year
61
-
62
- def streak
63
- naive = data.streak
64
- return naive if naive.size < 365
65
- [-1] * (real_streak_length - naive.size) + naive
66
- end
67
-
68
- ##
69
- # Set a custom longest_streak to account for the overriden streak
70
-
71
- def longest_streak
72
- return data.longest_streak if data.longest_streak.size < 365
73
- streak
74
- end
57
+ alias inspect to_s
75
58
 
76
59
  ##
77
60
  # Lazy loader for data
@@ -97,7 +80,7 @@ module GithubStats
97
80
  def guess_user(names = [])
98
81
  names << Rugged::Config.global['github.user'] if USE_RUGGED
99
82
  names << ENV['USER']
100
- names.find { |name| name } || (fail 'Failed to guess username')
83
+ names.find { |name| name } || (raise 'Failed to guess username')
101
84
  end
102
85
 
103
86
  ##
@@ -108,16 +91,6 @@ module GithubStats
108
91
  @last_updated = DateTime.now
109
92
  end
110
93
 
111
- ##
112
- # Set a custom longest_streak that takes into account GitHub,
113
- # which reports full length but only gives data for a year
114
-
115
- def real_streak_length
116
- url = @url.split('/users/').first + '/' + @name
117
- data = Curl::Easy.perform(url).body_str
118
- Nokogiri::HTML(data).css('.contrib-number').last.text.split.first.to_i
119
- end
120
-
121
94
  ##
122
95
  # Downloads new data from Github
123
96
 
@@ -23,7 +23,7 @@ module GithubStats
23
23
  include MethodCacher
24
24
 
25
25
  attr_reader :raw
26
- alias_method :to_a, :raw
26
+ alias to_a raw
27
27
 
28
28
  ##
29
29
  # Create a data object and turn on caching
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
1
2
  ##
2
3
  # Define the version
3
4
  module GithubStats
4
- VERSION = '1.1.0'
5
+ VERSION = '1.2.0'.freeze
5
6
  end
@@ -18,7 +18,7 @@ describe GithubStats do
18
18
  open('spec/examples/results') { |f| JSON.parse f.read }[subject]
19
19
  end
20
20
  let(:data) do
21
- file = open("spec/examples/#{subject}.user") { |fh| fh.read }
21
+ file = open("spec/examples/#{subject}.user", &:read)
22
22
  GithubStats::Data.new JSON.parse(file)
23
23
  end
24
24
 
@@ -76,13 +76,13 @@ describe GithubStats do
76
76
 
77
77
  describe '#mean' do
78
78
  it 'returns the mean score of the set' do
79
- expect(data.mean.round 4).to eql results['mean']
79
+ expect(data.mean.round(4)).to eql results['mean']
80
80
  end
81
81
  end
82
82
 
83
83
  describe '#std_var' do
84
84
  it 'returns the standard variance of the set' do
85
- expect(data.std_var.round 4).to eql results['std_var']
85
+ expect(data.std_var.round(4)).to eql results['std_var']
86
86
  end
87
87
  end
88
88
 
@@ -60,9 +60,9 @@ describe GithubStats do
60
60
  end
61
61
 
62
62
  it 'truthfully handles respond_to? queries' do
63
- expect(named_user.respond_to? :to_s).to be_truthy
64
- expect(named_user.respond_to? :today).to be_truthy
65
- expect(named_user.respond_to? :abcd).to be_falsey
63
+ expect(named_user.respond_to?(:to_s)).to be_truthy
64
+ expect(named_user.respond_to?(:today)).to be_truthy
65
+ expect(named_user.respond_to?(:abcd)).to be_falsey
66
66
  end
67
67
  end
68
68
  end
@@ -1,9 +1,10 @@
1
- require 'simplecov'
2
- require 'coveralls'
3
-
4
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
5
- SimpleCov.start do
6
- add_filter '/spec/'
1
+ if ENV['CI'] == 'true'
2
+ require 'simplecov'
3
+ require 'codecov'
4
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
5
+ SimpleCov.start do
6
+ add_filter '/spec/'
7
+ end
7
8
  end
8
9
 
9
10
  require 'rspec'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: githubstats
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Les Aker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-19 00:00:00.000000000 Z
11
+ date: 2016-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: curb
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.8.6
19
+ version: 0.9.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.8.6
26
+ version: 0.9.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: basiccache
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +72,56 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.33.0
75
+ version: 0.40.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.33.0
82
+ version: 0.40.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: 10.4.0
89
+ version: 11.1.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: 10.4.0
96
+ version: 11.1.0
97
97
  - !ruby/object:Gem::Dependency
98
- name: coveralls
98
+ name: codecov
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.8.0
103
+ version: 0.1.1
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.8.0
110
+ version: 0.1.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 3.3.0
117
+ version: 3.4.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.3.0
124
+ version: 3.4.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: fuubar
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -145,15 +145,16 @@ extensions: []
145
145
  extra_rdoc_files: []
146
146
  files:
147
147
  - ".gitignore"
148
+ - ".prospectus"
148
149
  - ".rspec"
149
150
  - ".rubocop.yml"
150
- - ".travis.yml"
151
151
  - CHANGELOG.md
152
152
  - Gemfile
153
153
  - LICENSE
154
154
  - README.md
155
155
  - Rakefile
156
156
  - bin/githubstats
157
+ - circle.yml
157
158
  - githubstats.gemspec
158
159
  - lib/githubstats.rb
159
160
  - lib/githubstats/data.rb
@@ -189,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
190
  version: '0'
190
191
  requirements: []
191
192
  rubyforge_project:
192
- rubygems_version: 2.4.5
193
+ rubygems_version: 2.5.1
193
194
  signing_key:
194
195
  specification_version: 4
195
196
  summary: Present Github contributions stats in a consumable format
@@ -1,22 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
- rvm:
5
- - 2.2.2
6
- - 2.2.1
7
- - 2.2.0
8
- - 2.1.6
9
- - 2.0.0-p598
10
- - 1.9.3-p551
11
- env:
12
- - WITH_RUGGED=no
13
- - WITH_RUGGED=yes
14
- before_script:
15
- - '[[ "$WITH_RUGGED" == "no" ]] || gem install rugged'
16
- notifications:
17
- email: false
18
- irc:
19
- channels:
20
- - irc.oftc.net#akerl
21
- template:
22
- - "%{repository}/%{branch}/%{build_number}: %{message} -- %{build_url}"