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 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