gruff 0.29.0 → 0.31.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 +4 -4
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/ci.yml +19 -26
- data/.github/workflows/release.yml +24 -0
- data/.rubocop.yml +15 -0
- data/.rubocop_todo.yml +11 -0
- data/CHANGELOG.md +9 -0
- data/Gemfile +2 -0
- data/gruff.gemspec +1 -0
- data/init.rb +1 -0
- data/lib/gruff/accumulator_bar.rb +1 -0
- data/lib/gruff/area.rb +2 -0
- data/lib/gruff/bar.rb +5 -0
- data/lib/gruff/base.rb +59 -2
- data/lib/gruff/bezier.rb +1 -0
- data/lib/gruff/box.rb +8 -0
- data/lib/gruff/bubble.rb +4 -0
- data/lib/gruff/bullet.rb +4 -0
- data/lib/gruff/candlestick.rb +20 -8
- data/lib/gruff/dot.rb +4 -0
- data/lib/gruff/font.rb +2 -0
- data/lib/gruff/helper/bar_value_label.rb +2 -0
- data/lib/gruff/helper/stacked_mixin.rb +1 -0
- data/lib/gruff/histogram.rb +3 -0
- data/lib/gruff/line.rb +28 -0
- data/lib/gruff/mini/bar.rb +4 -0
- data/lib/gruff/mini/legend.rb +15 -3
- data/lib/gruff/mini/pie.rb +4 -0
- data/lib/gruff/mini/side_bar.rb +4 -0
- data/lib/gruff/net.rb +7 -1
- data/lib/gruff/patch/rmagick.rb +11 -0
- data/lib/gruff/patch/string.rb +3 -0
- data/lib/gruff/pie.rb +8 -0
- data/lib/gruff/renderer/bezier.rb +1 -0
- data/lib/gruff/renderer/circle.rb +1 -0
- data/lib/gruff/renderer/dash_line.rb +1 -0
- data/lib/gruff/renderer/dot.rb +13 -0
- data/lib/gruff/renderer/ellipse.rb +1 -0
- data/lib/gruff/renderer/line.rb +7 -0
- data/lib/gruff/renderer/polygon.rb +2 -0
- data/lib/gruff/renderer/polyline.rb +1 -0
- data/lib/gruff/renderer/rectangle.rb +1 -0
- data/lib/gruff/renderer/renderer.rb +26 -3
- data/lib/gruff/renderer/text.rb +5 -1
- data/lib/gruff/scatter.rb +17 -0
- data/lib/gruff/side_bar.rb +9 -0
- data/lib/gruff/side_stacked_bar.rb +3 -0
- data/lib/gruff/spider.rb +26 -2
- data/lib/gruff/stacked_area.rb +5 -0
- data/lib/gruff/stacked_bar.rb +5 -0
- data/lib/gruff/store/basic_data.rb +4 -0
- data/lib/gruff/store/store.rb +8 -0
- data/lib/gruff/store/xy_data.rb +2 -0
- data/lib/gruff/store/xy_pointsizes_data.rb +2 -0
- data/lib/gruff/version.rb +1 -1
- data/lib/gruff.rb +2 -0
- data/sig/generated/gruff/accumulator_bar.rbs +2 -1
- data/sig/generated/gruff/area.rbs +4 -2
- data/sig/generated/gruff/bar.rbs +10 -5
- data/sig/generated/gruff/base.rbs +113 -53
- data/sig/generated/gruff/bezier.rbs +2 -1
- data/sig/generated/gruff/box.rbs +13 -5
- data/sig/generated/gruff/bubble.rbs +8 -4
- data/sig/generated/gruff/bullet.rbs +8 -4
- data/sig/generated/gruff/candlestick.rbs +26 -14
- data/sig/generated/gruff/dot.rbs +8 -4
- data/sig/generated/gruff/font.rbs +3 -1
- data/sig/generated/gruff/helper/bar_value_label.rbs +4 -2
- data/sig/generated/gruff/helper/stacked_mixin.rbs +2 -1
- data/sig/generated/gruff/histogram.rbs +6 -3
- data/sig/generated/gruff/line.rbs +44 -16
- data/sig/generated/gruff/mini/bar.rbs +27 -0
- data/sig/generated/gruff/mini/legend.rbs +36 -0
- data/sig/generated/gruff/mini/pie.rbs +26 -0
- data/sig/generated/gruff/mini/side_bar.rbs +34 -0
- data/sig/generated/gruff/net.rbs +12 -6
- data/sig/generated/gruff/patch/rmagick.rbs +25 -0
- data/sig/generated/gruff/patch/string.rbs +11 -0
- data/sig/generated/gruff/pie.rbs +15 -7
- data/sig/generated/gruff/renderer/bezier.rbs +2 -1
- data/sig/generated/gruff/renderer/circle.rbs +2 -1
- data/sig/generated/gruff/renderer/dash_line.rbs +2 -1
- data/sig/generated/gruff/renderer/dot.rbs +17 -4
- data/sig/generated/gruff/renderer/ellipse.rbs +2 -1
- data/sig/generated/gruff/renderer/line.rbs +9 -2
- data/sig/generated/gruff/renderer/polygon.rbs +17 -0
- data/sig/generated/gruff/renderer/polyline.rbs +2 -1
- data/sig/generated/gruff/renderer/rectangle.rbs +2 -1
- data/sig/generated/gruff/renderer/renderer.rbs +31 -8
- data/sig/generated/gruff/renderer/text.rbs +7 -3
- data/sig/generated/gruff/scatter.rbs +30 -13
- data/sig/generated/gruff/side_bar.rbs +15 -6
- data/sig/generated/gruff/side_stacked_bar.rbs +6 -3
- data/sig/generated/gruff/spider.rbs +35 -11
- data/sig/generated/gruff/stacked_area.rbs +9 -4
- data/sig/generated/gruff/stacked_bar.rbs +10 -5
- data/sig/generated/gruff/store/basic_data.rbs +8 -4
- data/sig/generated/gruff/store/store.rbs +12 -4
- data/sig/generated/gruff/store/xy_data.rbs +4 -2
- data/sig/generated/gruff/store/xy_pointsizes_data.rbs +4 -2
- data/sig/generated/gruff.rbs +3 -1
- metadata +12 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: aafd0b8a799ce4587742f327c4a9dfe8dd993b16a78c31572eb20bd61079b6c2
|
|
4
|
+
data.tar.gz: 3ad0c1459a791f1f16ebeeb270c0785fb53057e60a12db0f1427b3a777388aaa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 02aa6b7edbe83b1498a015c12414a47d9923c1a661fecce9c9bfc44cda06753e7180e7c1c223c6efaaac0fbc9f76fd0d3126189de49d50a1fd8aa244151cfcd9
|
|
7
|
+
data.tar.gz: 2929fe565e5e8a1c14f81f1823ade644b7decccc085653753159d1b9154e76d5a8626f7edf41175e774f0aa7445645028c522302497d3a139bef8a54c9889b61
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -15,16 +15,16 @@ jobs:
|
|
|
15
15
|
timeout-minutes: 20
|
|
16
16
|
strategy:
|
|
17
17
|
matrix:
|
|
18
|
-
ruby-version: ['
|
|
18
|
+
ruby-version: ['4.0']
|
|
19
19
|
imagemagick-version:
|
|
20
|
-
- { full: 7.1.
|
|
20
|
+
- { full: 7.1.2-10, major-minor: '7.1' }
|
|
21
21
|
name: Lint (Ruby ${{ matrix.ruby-version }}, ImageMagick ${{ matrix.imagemagick-version.major-minor }})
|
|
22
22
|
steps:
|
|
23
|
-
- uses: actions/checkout@
|
|
23
|
+
- uses: actions/checkout@v6
|
|
24
24
|
with:
|
|
25
25
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
26
26
|
- name: Cache ImageMagick
|
|
27
|
-
uses: actions/cache@
|
|
27
|
+
uses: actions/cache@v5
|
|
28
28
|
with:
|
|
29
29
|
path: ./build-ImageMagick
|
|
30
30
|
key: v1-linux-imagemagick-${{ matrix.imagemagick-version.full }}
|
|
@@ -35,12 +35,10 @@ jobs:
|
|
|
35
35
|
export IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }}
|
|
36
36
|
./before_install_linux.sh
|
|
37
37
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
38
|
-
uses: ruby/setup-ruby@
|
|
38
|
+
uses: ruby/setup-ruby@v1
|
|
39
39
|
with:
|
|
40
40
|
ruby-version: ${{ matrix.ruby-version }}
|
|
41
41
|
bundler-cache: true
|
|
42
|
-
- name: Install dependencies
|
|
43
|
-
run: bundle install --path=vendor/bundle --jobs 4 --retry 3
|
|
44
42
|
- name: RuboCop Problem Matchers
|
|
45
43
|
uses: r7kamura/rubocop-problem-matchers-action@v1
|
|
46
44
|
- name: Run tests
|
|
@@ -51,16 +49,16 @@ jobs:
|
|
|
51
49
|
timeout-minutes: 20
|
|
52
50
|
strategy:
|
|
53
51
|
matrix:
|
|
54
|
-
ruby-version: ['
|
|
52
|
+
ruby-version: ['4.0']
|
|
55
53
|
imagemagick-version:
|
|
56
|
-
- { full: 7.1.
|
|
54
|
+
- { full: 7.1.2-10, major-minor: '7.1' }
|
|
57
55
|
name: Check RBS (Ruby ${{ matrix.ruby-version }}, ImageMagick ${{ matrix.imagemagick-version.major-minor }})
|
|
58
56
|
steps:
|
|
59
|
-
- uses: actions/checkout@
|
|
57
|
+
- uses: actions/checkout@v6
|
|
60
58
|
with:
|
|
61
59
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
62
60
|
- name: Cache ImageMagick
|
|
63
|
-
uses: actions/cache@
|
|
61
|
+
uses: actions/cache@v5
|
|
64
62
|
with:
|
|
65
63
|
path: ./build-ImageMagick
|
|
66
64
|
key: v1-linux-imagemagick-${{ matrix.imagemagick-version.full }}
|
|
@@ -71,12 +69,10 @@ jobs:
|
|
|
71
69
|
export IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }}
|
|
72
70
|
./before_install_linux.sh
|
|
73
71
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
74
|
-
uses: ruby/setup-ruby@
|
|
72
|
+
uses: ruby/setup-ruby@v1
|
|
75
73
|
with:
|
|
76
74
|
ruby-version: ${{ matrix.ruby-version }}
|
|
77
75
|
bundler-cache: true
|
|
78
|
-
- name: Install dependencies
|
|
79
|
-
run: bundle install --path=vendor/bundle --jobs 4 --retry 3
|
|
80
76
|
- name: Run tests
|
|
81
77
|
run: |
|
|
82
78
|
bundle exec rake rbs:update
|
|
@@ -87,15 +83,16 @@ jobs:
|
|
|
87
83
|
runs-on: ubuntu-24.04
|
|
88
84
|
timeout-minutes: 20
|
|
89
85
|
strategy:
|
|
86
|
+
fail-fast: false
|
|
90
87
|
matrix:
|
|
91
|
-
ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4']
|
|
88
|
+
ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', '4.0']
|
|
92
89
|
imagemagick-version:
|
|
93
|
-
- { full: 7.1.
|
|
90
|
+
- { full: 7.1.2-10, major-minor: '7.1' }
|
|
94
91
|
name: Ruby ${{ matrix.ruby-version }}
|
|
95
92
|
steps:
|
|
96
|
-
- uses: actions/checkout@
|
|
93
|
+
- uses: actions/checkout@v6
|
|
97
94
|
- name: Cache ImageMagick
|
|
98
|
-
uses: actions/cache@
|
|
95
|
+
uses: actions/cache@v5
|
|
99
96
|
with:
|
|
100
97
|
path: ./build-ImageMagick
|
|
101
98
|
key: v1-linux-imagemagick-${{ matrix.imagemagick-version.full }}
|
|
@@ -106,12 +103,10 @@ jobs:
|
|
|
106
103
|
export IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }}
|
|
107
104
|
./before_install_linux.sh
|
|
108
105
|
- name: Set up Ruby
|
|
109
|
-
uses: ruby/setup-ruby@
|
|
106
|
+
uses: ruby/setup-ruby@v1
|
|
110
107
|
with:
|
|
111
108
|
ruby-version: ${{ matrix.ruby-version }}
|
|
112
|
-
bundler-cache:
|
|
113
|
-
- name: Install dependencies
|
|
114
|
-
run: bundle install --path=vendor/bundle --jobs 4 --retry 3
|
|
109
|
+
bundler-cache: true
|
|
115
110
|
- name: Run tests
|
|
116
111
|
run: bundle exec rake
|
|
117
112
|
|
|
@@ -123,13 +118,11 @@ jobs:
|
|
|
123
118
|
ruby-version: ['9.4.7.0']
|
|
124
119
|
name: JRuby ${{ matrix.ruby-version }}
|
|
125
120
|
steps:
|
|
126
|
-
- uses: actions/checkout@
|
|
121
|
+
- uses: actions/checkout@v6
|
|
127
122
|
- name: Set up Ruby
|
|
128
|
-
uses: ruby/setup-ruby@
|
|
123
|
+
uses: ruby/setup-ruby@v1
|
|
129
124
|
with:
|
|
130
125
|
ruby-version: jruby-${{ matrix.ruby-version }}
|
|
131
126
|
bundler-cache: true
|
|
132
|
-
- name: Install dependencies
|
|
133
|
-
run: bundle install --path=vendor/bundle --jobs 4 --retry 3
|
|
134
127
|
- name: Run tests
|
|
135
128
|
run: bundle exec rake
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
tags:
|
|
5
|
+
- "v*"
|
|
6
|
+
jobs:
|
|
7
|
+
rubygems:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
permissions:
|
|
10
|
+
id-token: write
|
|
11
|
+
environment: release
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
ruby: [ 'ruby', 'jruby' ]
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v6
|
|
17
|
+
- uses: ruby/setup-ruby@v1
|
|
18
|
+
with:
|
|
19
|
+
ruby-version: ${{ matrix.ruby }}
|
|
20
|
+
bundler-cache: true
|
|
21
|
+
- uses: rubygems/configure-rubygems-credentials@v1.0.0
|
|
22
|
+
- name: Publish gem
|
|
23
|
+
run: |
|
|
24
|
+
bundle exec rake release:rubygem_push
|
data/.rubocop.yml
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
|
2
|
+
|
|
1
3
|
plugins:
|
|
2
4
|
- rubocop-minitest
|
|
3
5
|
- rubocop-performance
|
|
@@ -84,6 +86,9 @@ Style/ConstantVisibility:
|
|
|
84
86
|
Style/Copyright:
|
|
85
87
|
Enabled: false
|
|
86
88
|
|
|
89
|
+
Style/OneClassPerFile:
|
|
90
|
+
Enabled: false
|
|
91
|
+
|
|
87
92
|
Style/Documentation:
|
|
88
93
|
Enabled: true
|
|
89
94
|
|
|
@@ -117,6 +122,9 @@ Style/MethodCallWithArgsParentheses:
|
|
|
117
122
|
Style/MissingElse:
|
|
118
123
|
Enabled: false
|
|
119
124
|
|
|
125
|
+
Style/NegativeArrayIndex:
|
|
126
|
+
Enabled: false
|
|
127
|
+
|
|
120
128
|
Style/Next:
|
|
121
129
|
Enabled: false
|
|
122
130
|
|
|
@@ -126,6 +134,9 @@ Style/NumericPredicate:
|
|
|
126
134
|
Style/OptionHash:
|
|
127
135
|
Enabled: false
|
|
128
136
|
|
|
137
|
+
Style/CollectionQuerying:
|
|
138
|
+
Enabled: false
|
|
139
|
+
|
|
129
140
|
Style/RedundantBegin:
|
|
130
141
|
Enabled: false
|
|
131
142
|
|
|
@@ -143,3 +154,7 @@ Style/YodaExpression:
|
|
|
143
154
|
|
|
144
155
|
Performance/ChainArrayAllocation:
|
|
145
156
|
Enabled: false
|
|
157
|
+
|
|
158
|
+
Style/RbsInline/MissingTypeAnnotation:
|
|
159
|
+
Exclude:
|
|
160
|
+
- 'test/**/*'
|
data/.rubocop_todo.yml
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# This configuration was generated by
|
|
2
|
+
# `rubocop --auto-gen-config`
|
|
3
|
+
# on 2026-03-29 02:09:03 UTC using RuboCop version 1.86.0.
|
|
4
|
+
# The point is for the user to remove these configuration records
|
|
5
|
+
# one by one as the offenses are removed from the code base.
|
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
|
8
|
+
|
|
9
|
+
# Offense count: 193
|
|
10
|
+
Style/RbsInline/UntypedInstanceVariable:
|
|
11
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 0.31.0
|
|
4
|
+
|
|
5
|
+
- RBS: Add missing RBS signatures (#677)
|
|
6
|
+
|
|
7
|
+
## 0.30.0
|
|
8
|
+
|
|
9
|
+
- RBS: Add missing signatures (#674)
|
|
10
|
+
- Candlestick: Fix graph width calculation (#671)
|
|
11
|
+
|
|
3
12
|
## 0.29.0
|
|
4
13
|
|
|
5
14
|
- Line graph: reset previous point between dataxy series to prevent unwanted poly‑line connection (#665)
|
data/Gemfile
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
+
# rbs_inline: enabled
|
|
2
3
|
|
|
3
4
|
source 'https://rubygems.org'
|
|
4
5
|
|
|
@@ -12,6 +13,7 @@ unless defined? JRUBY_VERSION
|
|
|
12
13
|
gem 'rubocop-rake', '~> 0.6'
|
|
13
14
|
end
|
|
14
15
|
|
|
16
|
+
gem 'minitest', '~> 5.0'
|
|
15
17
|
gem 'minitest-reporters'
|
|
16
18
|
gem 'rake'
|
|
17
19
|
gem 'simplecov'
|
data/gruff.gemspec
CHANGED
data/init.rb
CHANGED
data/lib/gruff/area.rb
CHANGED
|
@@ -24,6 +24,7 @@ class Gruff::Area < Gruff::Base
|
|
|
24
24
|
|
|
25
25
|
private
|
|
26
26
|
|
|
27
|
+
# @rbs return: void
|
|
27
28
|
def initialize_attributes
|
|
28
29
|
super
|
|
29
30
|
@sorted_drawing = true
|
|
@@ -31,6 +32,7 @@ private
|
|
|
31
32
|
@stroke_width = 2.0
|
|
32
33
|
end
|
|
33
34
|
|
|
35
|
+
# @rbs return: void
|
|
34
36
|
def draw_graph
|
|
35
37
|
x_increment = (@graph_width / (column_count - 1)).to_f
|
|
36
38
|
|
data/lib/gruff/bar.rb
CHANGED
|
@@ -51,6 +51,7 @@ class Gruff::Bar < Gruff::Base
|
|
|
51
51
|
# Default value is +0.9+.
|
|
52
52
|
#
|
|
53
53
|
# @rbs space_percent: Float | Integer
|
|
54
|
+
# @rbs return: void
|
|
54
55
|
def spacing_factor=(space_percent)
|
|
55
56
|
raise ArgumentError, 'spacing_factor must be between 0.00 and 1.00' if (space_percent < 0) || (space_percent > 1)
|
|
56
57
|
|
|
@@ -59,6 +60,7 @@ class Gruff::Bar < Gruff::Base
|
|
|
59
60
|
|
|
60
61
|
private
|
|
61
62
|
|
|
63
|
+
# @rbs return: void
|
|
62
64
|
def initialize_attributes
|
|
63
65
|
super
|
|
64
66
|
@spacing_factor = 0.9
|
|
@@ -68,6 +70,7 @@ private
|
|
|
68
70
|
@hide_labels = false
|
|
69
71
|
end
|
|
70
72
|
|
|
73
|
+
# @rbs return: void
|
|
71
74
|
def setup_drawing
|
|
72
75
|
# Labels will be centered over the left of the bar if
|
|
73
76
|
# there are more labels than columns. This is basically the same
|
|
@@ -92,6 +95,7 @@ private
|
|
|
92
95
|
hide_labels? && @x_axis_label.nil? && @legend_at_bottom == false
|
|
93
96
|
end
|
|
94
97
|
|
|
98
|
+
# @rbs return: void
|
|
95
99
|
def setup_graph_measurements
|
|
96
100
|
super
|
|
97
101
|
return if @hide_line_markers
|
|
@@ -106,6 +110,7 @@ private
|
|
|
106
110
|
end
|
|
107
111
|
end
|
|
108
112
|
|
|
113
|
+
# @rbs return: void
|
|
109
114
|
def draw_graph
|
|
110
115
|
# Setup spacing.
|
|
111
116
|
#
|