Tabulo v2.0.0 Release Notes

  • ๐Ÿ†• New features

    • ๐Ÿ†• New border option for Tabulo::Table initializer allows for better customization of border and divider characters, using a preset list of options, viz.: :ascii, :modern, :markdown, :blank and :classic. In particular, the :modern border option uses smoothly drawn Unicode line characters; and the :markdown option renders a GitHub-flavoured Markdown table.
    • Tabulo::Table#horizontal_rule method accepts :top, :bottom and :middle options to allow the appropriate border characters to be used depending on its intended position in the table.
    • When iterating a Tabulo::Row, it's now possible to get the formatted string value of an individual Tabulo::Cell, not just its underlying "raw" value.
    • ๐Ÿ”ง Column padding can now optionally be configured separately for left and right column sides, by passing a 2-element Array to the column_padding option of the Tabulo::Table initializer.

    ๐Ÿ’ฅ Breaking changes

    • A Tabulo::Row is now a collection of Tabulo::Cell, not a collection of underlying "raw" values. This makes it easier to get at both formatted string values and underlying "raw" values of Cells when traversing a Row. To get at the raw underlying value, call Tabulo::Cell#value.
    • โœ‚ Remove deprecated columns option from Tabulo::Table initializer (existing cols positional parameter now renamed to columns).
    • โœ‚ Remove deprecated shrinkwrap! method (use pack instead).
    • 0๏ธโƒฃ By default, table now has a border line at the bottom. Pass :classic to the border option of the Tabulo::Table initializer to get the old behaviour.
    • Removal of horizontal_rule_character, vertical_rule_character and intersection character options from Tabulo::Table initializer, and from Tabulo::Table#transpose method. Use the border option instead.

    Other noteworthy changes

    • โœ… Test coverage is now at exactly 100%
    • hirb gem now mentioned in README