Skip to content

Commit 56c971a

Browse files
committed
Update display formatter for Gruff::Base
1 parent 9ebae7d commit 56c971a

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

lib/iruby/display.rb

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -391,13 +391,24 @@ def format(mime = nil, &block)
391391
end
392392
end
393393

394+
format_magick_image = ->(obj) do
395+
format = obj.format || 'PNG'
396+
[
397+
format == 'PNG' ? 'image/png' : 'image/jpeg',
398+
obj.to_blob {|i| i.format = format }
399+
]
400+
end
401+
394402
match do |obj|
395403
defined?(Magick::Image) && Magick::Image === obj ||
396404
defined?(MiniMagick::Image) && MiniMagick::Image === obj
397405
end
406+
format 'image', &format_magick_image
407+
408+
type { Gruff::Base }
398409
format 'image' do |obj|
399-
format = obj.format || 'PNG'
400-
[format == 'PNG' ? 'image/png' : 'image/jpeg', obj.to_blob { |i| i.format = format }]
410+
image = obj.to_image
411+
format_magick_image.(obj.to_image)
401412
end
402413

403414
match do |obj|
@@ -414,9 +425,6 @@ def format(mime = nil, &block)
414425
end
415426
end
416427

417-
type { Gruff::Base }
418-
format 'image/png', &:to_blob
419-
420428
type { Rubyvis::Mark }
421429
format 'image/svg+xml' do |obj|
422430
obj.render

0 commit comments

Comments
 (0)