gruff 0.23.0-java → 0.24.0-java

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
  SHA256:
3
- metadata.gz: ccbe03d82324858d43ef208c29e5fe685df853100bdd7e2a5541b5b35e9cd82e
4
- data.tar.gz: 19578cbb0ca970e05c2a64a87fa9cee93398552b643dacaa2ad7ffa4737054b5
3
+ metadata.gz: 7ef07020e21d2f77bf04e8c90d0990bbd00a64bb5e44fbceb8d485f255d8f3ce
4
+ data.tar.gz: e6073f86bff07eb0b02045ff8da1c2f5937efee11f6574667091cd8fc21f5767
5
5
  SHA512:
6
- metadata.gz: f0681e1a7f9798f151de44df7af54508d9b8d4b98361357049550a3adc89bc65ffdb526c4a8576eed3f81249384e10a7e2dc97103d4afd04a0c9a80eec1001e5
7
- data.tar.gz: 3eba1ccf0e2ebab141946bc814dd6a6b638a4dd4da9641988dae36f0f3ec53b0529499ac5b1f2f78fa9387251d9a98f7cda9a8c00c5a3f481aecbe06965463a2
6
+ metadata.gz: b919327dfe6fb6b1a7ab52a262b12768e7c759d3d73e1b58e25a580f3e19241f3e983fca931917950352a6bc53a2d45f53a0c9438ca7302794b6c389d481c961
7
+ data.tar.gz: 6d99017cb356942f66cae454d364ce059a2abc32e79ff7aba0ceb03e4f5335ce3b885188e4ee18cc26639ca409a049afc325e58469a47429656e0e6e18f876ec
@@ -15,7 +15,7 @@ jobs:
15
15
  timeout-minutes: 20
16
16
  name: Lint
17
17
  steps:
18
- - uses: actions/checkout@v3
18
+ - uses: actions/checkout@v4
19
19
  with:
20
20
  ref: ${{ github.event.pull_request.head.sha }}
21
21
  - name: Set up Ruby 2.6
@@ -26,7 +26,7 @@ jobs:
26
26
  - name: Install dependencies
27
27
  run: bundle install --path=vendor/bundle --jobs 4 --retry 3
28
28
  - name: RuboCop Problem Matchers
29
- uses: r7kamura/rubocop-problem-matchers-action@v1.2.1
29
+ uses: r7kamura/rubocop-problem-matchers-action@v1
30
30
  - name: Run tests
31
31
  run: bundle exec rubocop
32
32
 
@@ -35,14 +35,14 @@ jobs:
35
35
  timeout-minutes: 20
36
36
  strategy:
37
37
  matrix:
38
- ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2']
38
+ ruby-version: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
39
39
  imagemagick-version:
40
- - { full: 7.1.0-55, major-minor: '7.1' }
40
+ - { full: 7.1.1-15, major-minor: '7.1' }
41
41
  name: Ruby ${{ matrix.ruby-version }}
42
42
  steps:
43
- - uses: actions/checkout@v3
43
+ - uses: actions/checkout@v4
44
44
  - name: Cache ImageMagick
45
- uses: actions/cache@v3
45
+ uses: actions/cache@v4
46
46
  with:
47
47
  path: ./build-ImageMagick
48
48
  key: v1-linux-imagemagick-${{ matrix.imagemagick-version.full }}
@@ -67,10 +67,10 @@ jobs:
67
67
  timeout-minutes: 20
68
68
  strategy:
69
69
  matrix:
70
- ruby-version: ['9.3.10.0', '9.4.2.0']
70
+ ruby-version: ['9.3.10.0', '9.4.3.0']
71
71
  name: JRuby ${{ matrix.ruby-version }}
72
72
  steps:
73
- - uses: actions/checkout@v3
73
+ - uses: actions/checkout@v4
74
74
  - name: Set up Ruby
75
75
  uses: ruby/setup-ruby@master
76
76
  with:
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.24.0
4
+ - Add the way to make background transparent (#631)
5
+ - Adjust line number position on side graph (#624)
6
+ - Add hide_labels attribute in Gruff::Dot (#623)
7
+ - Fix where SideBar's labels were sometimes missing by incorrect left margin
8
+
3
9
  ## 0.23.0
4
10
  - Update dependent RMagick version to 5.3.0 or later (#622)
5
11
 
data/lib/gruff/base.rb CHANGED
@@ -367,6 +367,14 @@ module Gruff
367
367
  @colors = color_list
368
368
  end
369
369
 
370
+ # Set whether to make background transparent.
371
+ #
372
+ # @param value [Boolean] Specify whether to make background transparent.
373
+ #
374
+ def transparent_background=(value)
375
+ @renderer.transparent_background(@columns, @rows) if value
376
+ end
377
+
370
378
  # You can set a theme manually. Assign a hash to this method before you
371
379
  # send your data.
372
380
  #
@@ -378,7 +386,13 @@ module Gruff
378
386
  # background_direction: :top_bottom
379
387
  # }
380
388
  #
381
- # +background_image: 'squirrel.png'+ is also possible.
389
+ # +background_colors+
390
+ # - Array<String> format value - background has gradation. (ex. +background_colors: ['black', 'grey']+)
391
+ # - String value - background has solid color. (ex. +background_colors: 'orange'+)
392
+ # - nil - background has transparent. (ex. +background_colors: nil+)
393
+ #
394
+ # +background_image+:
395
+ # - Specify the path to image file when it draw the image as background.
382
396
  #
383
397
  # +background_direction+ accepts one of following parameters.
384
398
  # - +:top_bottom+
@@ -400,7 +414,7 @@ module Gruff
400
414
  marker_color: 'white',
401
415
  marker_shadow_color: nil,
402
416
  font_color: 'black',
403
- background_colors: nil,
417
+ background_colors: 'gray',
404
418
  background_image: nil
405
419
  }
406
420
  @theme_options = defaults.merge options
@@ -894,14 +908,14 @@ module Gruff
894
908
  def setup_left_margin
895
909
  return @left_margin if hide_left_label_area?
896
910
 
897
- text = begin
911
+ longest_left_label_width = begin
898
912
  if @has_left_labels
899
- @labels.values.reduce('') { |value, memo| value.to_s.length > memo.to_s.length ? value : memo }
913
+ @labels.values.map { |value| calculate_width(@marker_font, truncate_label_text(value.to_s)) }.max || 0
900
914
  else
901
- y_axis_label(maximum_value, @increment)
915
+ label = y_axis_label(maximum_value, @increment)
916
+ calculate_width(@marker_font, truncate_label_text(label))
902
917
  end
903
918
  end
904
- longest_left_label_width = calculate_width(@marker_font, truncate_label_text(text))
905
919
 
906
920
  line_number_width = begin
907
921
  if !@has_left_labels && (@hide_line_markers || @hide_line_numbers)
data/lib/gruff/dot.rb CHANGED
@@ -14,6 +14,9 @@
14
14
  # g.write('dot.png')
15
15
  #
16
16
  class Gruff::Dot < Gruff::Base
17
+ # Prevent drawing of column labels below a stacked bar graph. Default is +false+.
18
+ attr_writer :hide_labels
19
+
17
20
  def initialize(*)
18
21
  super
19
22
  @has_left_labels = true
@@ -22,6 +25,23 @@ class Gruff::Dot < Gruff::Base
22
25
 
23
26
  private
24
27
 
28
+ def initialize_attributes
29
+ super
30
+ @hide_labels = false
31
+ end
32
+
33
+ def hide_labels?
34
+ @hide_labels
35
+ end
36
+
37
+ def hide_left_label_area?
38
+ hide_labels? && @y_axis_label.nil?
39
+ end
40
+
41
+ def hide_bottom_label_area?
42
+ @hide_line_markers && @x_axis_label.nil? && @legend_at_bottom == false
43
+ end
44
+
25
45
  def draw_graph
26
46
  # Setup spacing.
27
47
  #
@@ -58,8 +78,9 @@ private
58
78
 
59
79
  unless @hide_line_numbers
60
80
  label = y_axis_label(marker_label, @increment)
81
+ y = @graph_bottom + @label_margin + (labels_caps_height / 2.0) + 5 # 5px offset for tick_mark_mode
61
82
  text_renderer = Gruff::Renderer::Text.new(renderer, label, font: @marker_font)
62
- text_renderer.add_to_render_queue(0, 0, x, @graph_bottom + (@label_margin * 1.5), Magick::CenterGravity)
83
+ text_renderer.add_to_render_queue(0, 0, x, y, Magick::CenterGravity)
63
84
  end
64
85
  end
65
86
  end
@@ -24,13 +24,15 @@ module Gruff
24
24
  end
25
25
 
26
26
  def background(columns, rows, scale, theme_options)
27
+ return image_background(scale, *theme_options[:background_image]) if theme_options[:background_image]
28
+
27
29
  case theme_options[:background_colors]
28
30
  when Array
29
31
  gradated_background(columns, rows, *theme_options[:background_colors][0..1], theme_options[:background_direction])
30
32
  when String
31
33
  solid_background(columns, rows, theme_options[:background_colors])
32
34
  else
33
- image_background(scale, *theme_options[:background_image])
35
+ transparent_background(columns, rows)
34
36
  end
35
37
  end
36
38
 
@@ -159,8 +159,9 @@ private
159
159
  diff = index - number_of_lines
160
160
  marker_label = (BigDecimal(diff.abs.to_s) * BigDecimal(increment.to_s)) + BigDecimal(minimum_value.to_s)
161
161
  label = x_axis_label(marker_label, @increment)
162
+ y = @graph_bottom + @label_margin + (labels_caps_height / 2.0)
162
163
  text_renderer = Gruff::Renderer::Text.new(renderer, label, font: @marker_font)
163
- text_renderer.add_to_render_queue(0, 0, x, @graph_bottom + @label_margin, Magick::CenterGravity)
164
+ text_renderer.add_to_render_queue(0, 0, x, y, Magick::CenterGravity)
164
165
  end
165
166
  end
166
167
  end
data/lib/gruff/spider.rb CHANGED
@@ -24,10 +24,6 @@ class Gruff::Spider < Gruff::Base
24
24
  @max_value = max_value
25
25
  end
26
26
 
27
- def transparent_background=(value)
28
- renderer.transparent_background(@columns, @rows) if value
29
- end
30
-
31
27
  def hide_text=(value)
32
28
  @hide_title = @hide_text = value
33
29
  end
data/lib/gruff/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gruff
4
- VERSION = '0.23.0'
4
+ VERSION = '0.24.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gruff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.0
4
+ version: 0.24.0
5
5
  platform: java
6
6
  authors:
7
7
  - Geoffrey Grosenbach
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-07-19 00:00:00.000000000 Z
12
+ date: 2024-03-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  requirement: !ruby/object:Gem::Requirement
@@ -190,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
190
190
  - !ruby/object:Gem::Version
191
191
  version: '0'
192
192
  requirements: []
193
- rubygems_version: 3.3.25
193
+ rubygems_version: 3.2.33
194
194
  signing_key:
195
195
  specification_version: 4
196
196
  summary: Beautiful graphs for one or multiple datasets.