piotrmurach/tty-table

View on GitHub

Showing 11 of 11 total issues

Class Table has 32 methods (exceeds 20 allowed). Consider refactoring.
Open

class Table
include Comparable, Enumerable, Validatable
extend Forwardable
 
# The table header
Severity: Minor
Found in lib/tty/table.rb - About 4 hrs to fix

    Method column has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

    def column(index)
    index_unknown = index.is_a?(Integer) && (index >= columns_size || index < 0)
    if block_given?
    return self if index_unknown
    rows.map { |row| yield row[index] }
    Severity: Minor
    Found in lib/tty/table.rb - About 45 mins to fix

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    module TTY
    class Table
    class Border
    # A class that represents a unicode border.
    #
    Severity: Minor
    Found in lib/tty/table/border/unicode.rb and 1 other location - About 40 mins to fix
    lib/tty/table/border/ascii.rb on lines 5..28

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    module TTY
    class Table
    class Border
    # A class that represents an ascii border.
    #
    Severity: Minor
    Found in lib/tty/table/border/ascii.rb and 1 other location - About 40 mins to fix
    lib/tty/table/border/unicode.rb on lines 5..28

    Method coerce has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
    Open

    def coerce(rows)
    coerced_rows = []
    Array(rows).each do |row|
    if row == Border::SEPARATOR
    separators << coerced_rows.length - (header ? 0 : 1)
    Severity: Minor
    Found in lib/tty/table.rb - About 35 mins to fix

    Method validate_options! has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

    def validate_options!(options)
    header = options[:header]
    rows = options[:rows]
     
    if header && (!header.is_a?(Array) || header.empty?)
    Severity: Minor
    Found in lib/tty/table/validatable.rb - About 25 mins to fix

    Method assert_border_class has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

    def assert_border_class(border_class)
    return unless border_class
    unless border_class <= TTY::Table::Border
    raise TypeError,
    "#{border_class} should inherit from TTY::Table::Border"
    Severity: Minor
    Found in lib/tty/table/renderer.rb - About 25 mins to fix

    Method enforce has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

    def enforce
    assert_minimum_width
    padding = renderer.padding
     
    if natural_width <= renderer.width
    Severity: Minor
    Found in lib/tty/table/column_constraint.rb - About 25 mins to fix

    Method shrink has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

    def shrink
    column_size = table.columns_size
    ratio = ((natural_width - renderer.width) / column_size.to_f).ceil
     
    widths = (0...column_size).reduce([]) do |lengths, col|
    Severity: Minor
    Found in lib/tty/table/column_constraint.rb - About 25 mins to fix

    Identical blocks of code found in 2 locations. Consider refactoring.
    Open

    table = TTY::Table.new(header: header) do |t|
    t << %w[11 12 13]
    t << %w[21 22 23]
    t << %w[31 32 33]
    Severity: Minor
    Found in examples/resize.rb and 1 other location - About 20 mins to fix
    examples/padding.rb on lines 9..12

    Identical blocks of code found in 2 locations. Consider refactoring.
    Open

    table = TTY::Table.new(header: header) do |t|
    t << %w[11 12 13]
    t << %w[21 22 23]
    t << %w[31 32 33]
    Severity: Minor
    Found in examples/padding.rb and 1 other location - About 20 mins to fix
    examples/resize.rb on lines 9..12
    Severity
    Category
    Status
    Source
    Language