class Coltrane::Renderers::TextRenderer::ArrayDrawer
Public Instance Methods
render()
click to toggle source
# File lib/coltrane/renderers/text_renderer/array_drawer.rb, line 7 def render public_send("render_#{layout}") end
render_horizontal()
click to toggle source
# File lib/coltrane/renderers/text_renderer/array_drawer.rb, line 19 def render_horizontal array .each_slice(per_row) .map { |row| row .map { |element| TextRenderer.render(element, **options) .split("\n") .yield_self { |lines| lines .map { |l| l.gsub(/\e\[(\d+)(;\d+)*m/, '').size } .max .yield_self { |column_w| lines .map { |l| l.ljust(column_w) } .+([' ' * column_w]) } } } .transpose .map(&:join) }.join("\n") end
render_vertical()
click to toggle source
# File lib/coltrane/renderers/text_renderer/array_drawer.rb, line 15 def render_vertical renders.join("\n") end
renders()
click to toggle source
# File lib/coltrane/renderers/text_renderer/array_drawer.rb, line 11 def renders @renders ||= array.map {|it| TextRenderer.render(it, **options) } end