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