lib/tty/table/renderer.rb in tty-0.0.7 vs lib/tty/table/renderer.rb in tty-0.0.8
- old
+ new
@@ -57,11 +57,11 @@
#
# @return [TTY::Table::Renderer]
#
# @api private
def pick_renderer(type=nil)
- type ? RENDERER_MAPPER[type].new : self.renderer
+ self.renderer= (type ? RENDERER_MAPPER[type].new : self.renderer)
end
# Return the default renderer
#
# @return [TTY::Table::Renderer]
@@ -80,11 +80,23 @@
@renderer = renderer
end
# Add custom border for the renderer
#
+ # @raise [TypeError]
+ # raised if the klass does not inherit from Table::Border
+ #
+ # @raise [NoImplemntationError]
+ # raise if the klass does not implement def_border
+ #
# @api public
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
delegatable_method :renderer, *RENDERER_DELEGATED_METHODS