Module: TTY::Table::Renderer
- Extended by:
- Delegatable
- Included in:
- TTY::Table
- Defined in:
- lib/tty/table/renderer.rb,
lib/tty/table/renderer/ascii.rb,
lib/tty/table/renderer/basic.rb,
lib/tty/table/renderer/color.rb,
lib/tty/table/renderer/unicode.rb
Overview
A mixin to allow common rendering methods
Defined Under Namespace
Classes: ASCII, Basic, Color, Unicode
Constant Summary collapse
- RENDERER_DELEGATED_METHODS =
[ :render, :total_width]
- RENDERER_MAPPER =
{ :ascii => TTY::Table::Renderer::ASCII, :basic => TTY::Table::Renderer::Basic, :color => TTY::Table::Renderer::Color, :unicode => TTY::Table::Renderer::Unicode }
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Object
private
Initialize a Renderer.
-
#pick_renderer(type = nil) ⇒ TTY::Table::Renderer
private
Determine renderer class based on string name.
-
#renderer ⇒ TTY::Table::Renderer
Return the default renderer.
-
#renderer=(renderer) ⇒ TTY::Table::Renderer
private
Set the renderer.
-
#renders_with(klass) ⇒ Object
Add custom border for the renderer.
Methods included from Delegatable
Instance Method Details
#initialize(options = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Initialize a Renderer
49 50 51 |
# File 'lib/tty/table/renderer.rb', line 49 def initialize(={}) super() end |
#pick_renderer(type = nil) ⇒ TTY::Table::Renderer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Determine renderer class based on string name
61 62 63 |
# File 'lib/tty/table/renderer.rb', line 61 def pick_renderer(type=nil) self.renderer= (type ? RENDERER_MAPPER[type].new : self.renderer) end |
#renderer ⇒ TTY::Table::Renderer
Return the default renderer
70 71 72 |
# File 'lib/tty/table/renderer.rb', line 70 def renderer @renderer ||= TTY::Table.renderer.new end |
#renderer=(renderer) ⇒ TTY::Table::Renderer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Set the renderer
79 80 81 |
# File 'lib/tty/table/renderer.rb', line 79 def renderer=(renderer) @renderer = renderer end |
#renders_with(klass) ⇒ Object
Add custom border for the renderer
92 93 94 95 96 97 98 99 100 |
# File 'lib/tty/table/renderer.rb', line 92 def renders_with(klass) unless klass <= TTY::Table::Border raise TypeError, "#{klass} should inherit from TTY::Table::Border" end unless klass.characters raise NoImplementationError, "#{klass} should implement def_border" end @border_class = klass end |