githubchart 0.0.10 → 0.0.13
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/README.md +2 -0
- data/bin/githubchart +14 -0
- data/githubchart.gemspec +3 -3
- data/lib/githubchart.rb +7 -4
- data/lib/githubchart/svg.rb +5 -3
- data/lib/githubchart/version.rb +1 -1
- data/spec/githubchart_spec.rb +3 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d935efdbed784cabbe7dd8081ca640a350ca5a8
|
4
|
+
data.tar.gz: a753a496736be43df859dc76ff37c6c92d9eb133
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23501590e45cc4498ba6a1eff1ba9ecbb0714cd2d31bb216519f86d2e6b7788f6ba71c38a45b986c0f40cfc480ea2a21d08b40707be560c45213ac912c7052df
|
7
|
+
data.tar.gz: 65ee24adaaf006cfcee6dffbd3d656b192f811df73aa23b329aa4a052dd10502512a6c3ed9ddb153886cfa72481da9c0b222a25c25a82562ef2da55b389059a2
|
data/README.md
CHANGED
@@ -22,6 +22,8 @@ GithubChart also allows you to provide input from a file instead of pulling data
|
|
22
22
|
|
23
23
|
If you don't provide a file path, the resulting SVG will be printed to stdout.
|
24
24
|
|
25
|
+
To modify the color scheme used, you can provide `-c SCHEME`. For example, `githubchart -c halloween` uses GitHub's halloween colors. Use `-s` to list the available schemes.
|
26
|
+
|
25
27
|
## Installation
|
26
28
|
|
27
29
|
gem install githubchart
|
data/bin/githubchart
CHANGED
@@ -35,6 +35,20 @@ OptionParser.new do |opts|
|
|
35
35
|
|
36
36
|
options[:data] = GithubStats::Data.new(parsed)
|
37
37
|
end
|
38
|
+
opts.on('-cSCHEME', '--colors SCHEME', 'Pick a color scheme') do |scheme|
|
39
|
+
if GithubChart::COLOR_SCHEMES.include? scheme.to_sym
|
40
|
+
options[:colors] = scheme.to_sym
|
41
|
+
else
|
42
|
+
fail 'Unknown color scheme provided'
|
43
|
+
end
|
44
|
+
end
|
45
|
+
opts.on('-s', '--schemes', 'List known color schemes') do
|
46
|
+
puts 'Color schemes:'
|
47
|
+
GithubChart::COLOR_SCHEMES.each do |scheme, colors|
|
48
|
+
puts " #{scheme}: #{colors}"
|
49
|
+
end
|
50
|
+
exit
|
51
|
+
end
|
38
52
|
opts.on_tail('-v', '--version', 'Show version') do
|
39
53
|
puts GithubChart::VERSION
|
40
54
|
exit
|
data/githubchart.gemspec
CHANGED
@@ -16,11 +16,11 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.test_files = `git ls-files spec/*`.split
|
17
17
|
s.executables = ['githubchart']
|
18
18
|
|
19
|
-
s.add_runtime_dependency 'githubstats', '~> 0.2.
|
19
|
+
s.add_runtime_dependency 'githubstats', '~> 0.2.16'
|
20
20
|
s.add_runtime_dependency 'rasem', '~> 0.6.1'
|
21
21
|
|
22
|
-
s.add_development_dependency 'rubocop', '~> 0.
|
23
|
-
s.add_development_dependency 'rake', '~> 10.
|
22
|
+
s.add_development_dependency 'rubocop', '~> 0.28.0'
|
23
|
+
s.add_development_dependency 'rake', '~> 10.4.0'
|
24
24
|
s.add_development_dependency 'coveralls', '~> 0.7.1'
|
25
25
|
s.add_development_dependency 'rspec', '~> 3.1.0'
|
26
26
|
s.add_development_dependency 'fuubar', '~> 2.0.0'
|
data/lib/githubchart.rb
CHANGED
@@ -38,9 +38,11 @@ module GithubChart
|
|
38
38
|
end
|
39
39
|
|
40
40
|
##
|
41
|
-
#
|
42
|
-
|
43
|
-
|
41
|
+
# Color schemes for gradient
|
42
|
+
COLOR_SCHEMES = {
|
43
|
+
default: ['#eeeeee', '#d6e685', '#8cc665', '#44a340', '#1e6823'],
|
44
|
+
halloween: ['#EEEEEE', '#FFEE4A', '#FFC501', '#FE9600', '#03001C']
|
45
|
+
}
|
44
46
|
|
45
47
|
##
|
46
48
|
# Object for parsing and outputing Github stats data
|
@@ -56,7 +58,8 @@ module GithubChart
|
|
56
58
|
def initialize(params = {})
|
57
59
|
params = { user: params } unless params.is_a? Hash
|
58
60
|
@stats = params.fetch(:data) { GithubStats.new(params[:user]).data }
|
59
|
-
@colors = params[:colors] ||
|
61
|
+
@colors = params[:colors] || :default
|
62
|
+
@colors = COLOR_SCHEMES[@colors] unless @colors.is_a? Array
|
60
63
|
end
|
61
64
|
|
62
65
|
private
|
data/lib/githubchart/svg.rb
CHANGED
@@ -68,7 +68,7 @@ module GithubChart
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
|
-
def svg_get_month_offsets
|
71
|
+
def svg_get_month_offsets # rubocop:disable Metrics/AbcSize
|
72
72
|
list = @stats.raw.select { |x| x.date.sunday? }
|
73
73
|
list.unshift(@stats.raw.first) unless @stats.raw.first.date.sunday?
|
74
74
|
list.map! { |x| x.date.strftime('%b') }
|
@@ -80,8 +80,10 @@ module GithubChart
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def svg_add_months(chart)
|
83
|
-
|
84
|
-
|
83
|
+
offsets = svg_get_month_offsets
|
84
|
+
offsets.shift if offsets.take(2).map(&:last) == [0, 1]
|
85
|
+
offsets.each do |month, offset|
|
86
|
+
next if offset > 50
|
85
87
|
chart.text(13 * offset + 14, 9, month, SVG_MONTH_STYLE)
|
86
88
|
end
|
87
89
|
end
|
data/lib/githubchart/version.rb
CHANGED
data/spec/githubchart_spec.rb
CHANGED
@@ -32,7 +32,9 @@ describe GithubChart do
|
|
32
32
|
expect(GithubChart.new(data: data).stats).to eql data
|
33
33
|
end
|
34
34
|
it 'creates a data object when not provided' do
|
35
|
-
expect(
|
35
|
+
expect(
|
36
|
+
GithubChart.new(username: 'fly').stats
|
37
|
+
).to be_an_instance_of GithubStats::Data
|
36
38
|
end
|
37
39
|
end
|
38
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: githubchart
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Les Aker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: githubstats
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.2.
|
19
|
+
version: 0.2.16
|
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.2.
|
26
|
+
version: 0.2.16
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rasem
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,28 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.28.0
|
48
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: 0.
|
54
|
+
version: 0.28.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 10.
|
61
|
+
version: 10.4.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: 10.
|
68
|
+
version: 10.4.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: coveralls
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|