gruff 0.29.0-java → 0.31.0-java

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.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +6 -0
  3. data/.github/workflows/ci.yml +19 -26
  4. data/.github/workflows/release.yml +24 -0
  5. data/.rubocop.yml +15 -0
  6. data/.rubocop_todo.yml +11 -0
  7. data/CHANGELOG.md +9 -0
  8. data/Gemfile +2 -0
  9. data/gruff.gemspec +1 -0
  10. data/init.rb +1 -0
  11. data/lib/gruff/accumulator_bar.rb +1 -0
  12. data/lib/gruff/area.rb +2 -0
  13. data/lib/gruff/bar.rb +5 -0
  14. data/lib/gruff/base.rb +59 -2
  15. data/lib/gruff/bezier.rb +1 -0
  16. data/lib/gruff/box.rb +8 -0
  17. data/lib/gruff/bubble.rb +4 -0
  18. data/lib/gruff/bullet.rb +4 -0
  19. data/lib/gruff/candlestick.rb +20 -8
  20. data/lib/gruff/dot.rb +4 -0
  21. data/lib/gruff/font.rb +2 -0
  22. data/lib/gruff/helper/bar_value_label.rb +2 -0
  23. data/lib/gruff/helper/stacked_mixin.rb +1 -0
  24. data/lib/gruff/histogram.rb +3 -0
  25. data/lib/gruff/line.rb +28 -0
  26. data/lib/gruff/mini/bar.rb +4 -0
  27. data/lib/gruff/mini/legend.rb +15 -3
  28. data/lib/gruff/mini/pie.rb +4 -0
  29. data/lib/gruff/mini/side_bar.rb +4 -0
  30. data/lib/gruff/net.rb +7 -1
  31. data/lib/gruff/patch/rmagick.rb +11 -0
  32. data/lib/gruff/patch/string.rb +3 -0
  33. data/lib/gruff/pie.rb +8 -0
  34. data/lib/gruff/renderer/bezier.rb +1 -0
  35. data/lib/gruff/renderer/circle.rb +1 -0
  36. data/lib/gruff/renderer/dash_line.rb +1 -0
  37. data/lib/gruff/renderer/dot.rb +13 -0
  38. data/lib/gruff/renderer/ellipse.rb +1 -0
  39. data/lib/gruff/renderer/line.rb +7 -0
  40. data/lib/gruff/renderer/polygon.rb +2 -0
  41. data/lib/gruff/renderer/polyline.rb +1 -0
  42. data/lib/gruff/renderer/rectangle.rb +1 -0
  43. data/lib/gruff/renderer/renderer.rb +26 -3
  44. data/lib/gruff/renderer/text.rb +5 -1
  45. data/lib/gruff/scatter.rb +17 -0
  46. data/lib/gruff/side_bar.rb +9 -0
  47. data/lib/gruff/side_stacked_bar.rb +3 -0
  48. data/lib/gruff/spider.rb +26 -2
  49. data/lib/gruff/stacked_area.rb +5 -0
  50. data/lib/gruff/stacked_bar.rb +5 -0
  51. data/lib/gruff/store/basic_data.rb +4 -0
  52. data/lib/gruff/store/store.rb +8 -0
  53. data/lib/gruff/store/xy_data.rb +2 -0
  54. data/lib/gruff/store/xy_pointsizes_data.rb +2 -0
  55. data/lib/gruff/version.rb +1 -1
  56. data/lib/gruff.rb +2 -0
  57. data/sig/generated/gruff/accumulator_bar.rbs +2 -1
  58. data/sig/generated/gruff/area.rbs +4 -2
  59. data/sig/generated/gruff/bar.rbs +10 -5
  60. data/sig/generated/gruff/base.rbs +113 -53
  61. data/sig/generated/gruff/bezier.rbs +2 -1
  62. data/sig/generated/gruff/box.rbs +13 -5
  63. data/sig/generated/gruff/bubble.rbs +8 -4
  64. data/sig/generated/gruff/bullet.rbs +8 -4
  65. data/sig/generated/gruff/candlestick.rbs +26 -14
  66. data/sig/generated/gruff/dot.rbs +8 -4
  67. data/sig/generated/gruff/font.rbs +3 -1
  68. data/sig/generated/gruff/helper/bar_value_label.rbs +4 -2
  69. data/sig/generated/gruff/helper/stacked_mixin.rbs +2 -1
  70. data/sig/generated/gruff/histogram.rbs +6 -3
  71. data/sig/generated/gruff/line.rbs +44 -16
  72. data/sig/generated/gruff/mini/bar.rbs +27 -0
  73. data/sig/generated/gruff/mini/legend.rbs +36 -0
  74. data/sig/generated/gruff/mini/pie.rbs +26 -0
  75. data/sig/generated/gruff/mini/side_bar.rbs +34 -0
  76. data/sig/generated/gruff/net.rbs +12 -6
  77. data/sig/generated/gruff/patch/rmagick.rbs +25 -0
  78. data/sig/generated/gruff/patch/string.rbs +11 -0
  79. data/sig/generated/gruff/pie.rbs +15 -7
  80. data/sig/generated/gruff/renderer/bezier.rbs +2 -1
  81. data/sig/generated/gruff/renderer/circle.rbs +2 -1
  82. data/sig/generated/gruff/renderer/dash_line.rbs +2 -1
  83. data/sig/generated/gruff/renderer/dot.rbs +17 -4
  84. data/sig/generated/gruff/renderer/ellipse.rbs +2 -1
  85. data/sig/generated/gruff/renderer/line.rbs +9 -2
  86. data/sig/generated/gruff/renderer/polygon.rbs +17 -0
  87. data/sig/generated/gruff/renderer/polyline.rbs +2 -1
  88. data/sig/generated/gruff/renderer/rectangle.rbs +2 -1
  89. data/sig/generated/gruff/renderer/renderer.rbs +31 -8
  90. data/sig/generated/gruff/renderer/text.rbs +7 -3
  91. data/sig/generated/gruff/scatter.rbs +30 -13
  92. data/sig/generated/gruff/side_bar.rbs +15 -6
  93. data/sig/generated/gruff/side_stacked_bar.rbs +6 -3
  94. data/sig/generated/gruff/spider.rbs +35 -11
  95. data/sig/generated/gruff/stacked_area.rbs +9 -4
  96. data/sig/generated/gruff/stacked_bar.rbs +10 -5
  97. data/sig/generated/gruff/store/basic_data.rbs +8 -4
  98. data/sig/generated/gruff/store/store.rbs +12 -4
  99. data/sig/generated/gruff/store/xy_data.rbs +4 -2
  100. data/sig/generated/gruff/store/xy_pointsizes_data.rbs +4 -2
  101. data/sig/generated/gruff.rbs +3 -1
  102. metadata +13 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fd744a78d67cf70ba643377cb7fa71cdd16811b9dc478e58d068a8b5a4292c1
4
- data.tar.gz: afd4c9c535f8050d9fca7c8f0ba0c0c738bbbfbf8282e09074834988e83fb6eb
3
+ metadata.gz: 284388a2330c22a6a76dae89900c9b19c3d46f3c9fbc966323ad0d3ece75542f
4
+ data.tar.gz: 70c1d5b6883ce6b3abd2319649c62134af68d8ad9fa55b8f452dc9f3373defb3
5
5
  SHA512:
6
- metadata.gz: 4fa0a66f48e838ecd4d0b91e15368c3a2bad5269dce082bff0ce1fb1240da133ddca8ecdf9ae1a4d5f279bf477298e3d04cfd81d83860758b817237523bd793f
7
- data.tar.gz: 69acb2ac04bbcdcf60a0676148c97b5402f422951a943c74f7686acf953b7a1349e954a4b5b19e26f08ed32ac10cbda8f6eab0c7a4626b28afa74542189bcf23
6
+ metadata.gz: 1e43fdd88417aac3b81f5e592548059ba55eac67532e1d0b80545c0cfe8ef8c4d7ab4eaca829b61d62d6863a8729e788be03edd495197baf002bd9d2c3adf823
7
+ data.tar.gz: 78a07d01d4e726155ea8b89f7f36a5eab7c7e3fa39ce4490a817881ae0a3a32873318a736143665df69a2ac29ef7cc999ed02e30a3456782f679310ea8358416
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: 'github-actions'
4
+ directory: '/'
5
+ schedule:
6
+ interval: 'monthly'
@@ -15,16 +15,16 @@ jobs:
15
15
  timeout-minutes: 20
16
16
  strategy:
17
17
  matrix:
18
- ruby-version: ['3.4']
18
+ ruby-version: ['4.0']
19
19
  imagemagick-version:
20
- - { full: 7.1.1-33, major-minor: '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@v4
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@v4
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@master
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: ['3.4']
52
+ ruby-version: ['4.0']
55
53
  imagemagick-version:
56
- - { full: 7.1.1-33, major-minor: '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@v4
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@v4
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@master
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.1-33, major-minor: '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@v4
93
+ - uses: actions/checkout@v6
97
94
  - name: Cache ImageMagick
98
- uses: actions/cache@v4
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@master
106
+ uses: ruby/setup-ruby@v1
110
107
  with:
111
108
  ruby-version: ${{ matrix.ruby-version }}
112
- bundler-cache: false
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@v4
121
+ - uses: actions/checkout@v6
127
122
  - name: Set up Ruby
128
- uses: ruby/setup-ruby@master
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
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ # rbs_inline: enabled
2
3
 
3
4
  lib = File.expand_path('lib')
4
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
data/init.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ # rbs_inline: enabled
2
3
 
3
4
  # For Rails
4
5
  require 'gruff'
@@ -18,6 +18,7 @@
18
18
  class Gruff::AccumulatorBar < Gruff::StackedBar
19
19
  private
20
20
 
21
+ # @rbs return: void
21
22
  def setup_data
22
23
  raise(Gruff::IncorrectNumberOfDatasetsException) unless store.length == 1
23
24
 
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
  #