githubchart 0.0.10 → 0.0.13

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
2
  SHA1:
3
- metadata.gz: bb114426e241409fb568642781d0062c89ccd71e
4
- data.tar.gz: 5c35d615ffc1db8630e52c54aa5d0e70877a3c0a
3
+ metadata.gz: 2d935efdbed784cabbe7dd8081ca640a350ca5a8
4
+ data.tar.gz: a753a496736be43df859dc76ff37c6c92d9eb133
5
5
  SHA512:
6
- metadata.gz: b7ce918bd5b7dd1f745e42f37a7d67d2965ee34db18ff477381c379991b0c7b430de1651fd1b9905392c459e93eabd7042b5a6d0605d4523eaef1c5cee59e169
7
- data.tar.gz: 6fbf595c362bd9773d394a7dfd2d27757d7c10d2f476b213acbb71621c755485f1385dfceb65a17fa882c955b1ada2209212c890e3b74b62fd01e6c9bc1f4586
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.14'
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.26.0'
23
- s.add_development_dependency 'rake', '~> 10.3.2'
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
- # Default colors for gradient
42
-
43
- COLORS = ['#eeeeee', '#d6e685', '#8cc665', '#44a340', '#1e6823']
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] || GithubChart::COLORS
61
+ @colors = params[:colors] || :default
62
+ @colors = COLOR_SCHEMES[@colors] unless @colors.is_a? Array
60
63
  end
61
64
 
62
65
  private
@@ -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
- svg_get_month_offsets.each do |month, offset|
84
- next if offset > 51
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
@@ -1,5 +1,5 @@
1
1
  ##
2
2
  # Define the version
3
3
  module GithubChart
4
- VERSION = '0.0.10'
4
+ VERSION = '0.0.13'
5
5
  end
@@ -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(GithubChart.new(username: 'fly').stats).to be_an_instance_of GithubStats::Data
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.10
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-09-06 00:00:00.000000000 Z
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.14
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.14
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.26.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.26.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.3.2
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.3.2
68
+ version: 10.4.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: coveralls
71
71
  requirement: !ruby/object:Gem::Requirement