Class: Pry::Helpers::Table

Inherits:
Object show all
Defined in:
lib/pry/helpers/table.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(items, args, pry_instance = Pry.new) ⇒ Table

Returns a new instance of Table.



37
38
39
40
41
# File 'lib/pry/helpers/table.rb', line 37

def initialize(items, args, pry_instance = Pry.new)
  @column_count = args[:column_count]
  @config = pry_instance.config
  self.items = items
end

Instance Attribute Details

#column_countObject

Returns the value of attribute column_count.



36
37
38
# File 'lib/pry/helpers/table.rb', line 36

def column_count
  @column_count
end

#itemsObject

Returns the value of attribute items.



36
37
38
# File 'lib/pry/helpers/table.rb', line 36

def items
  @items
end

Instance Method Details

#==(other) ⇒ Object



81
82
83
# File 'lib/pry/helpers/table.rb', line 81

def ==(other)
  items == other.to_a
end

#columnsObject



77
78
79
# File 'lib/pry/helpers/table.rb', line 77

def columns
  @rows_without_colors.transpose
end

#fits_on_line?(line_length) ⇒ Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/pry/helpers/table.rb', line 73

def fits_on_line?(line_length)
  _max_width(rows_to_s(:no_color)) <= line_length
end

#rows_to_s(style = :color_on) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/pry/helpers/table.rb', line 47

def rows_to_s(style = :color_on)
  widths = columns.map { |e| _max_width(e) }
  @rows_without_colors.map do |r|
    padded = []
    r.each_with_index do |e, i|
      next unless e

      item = e.ljust(widths[i])
      item.sub! e, _recall_color_for(e) if style == :color_on
      padded << item
    end
    padded.join(@config.ls.separator)
  end
end

#to_aObject



85
86
87
# File 'lib/pry/helpers/table.rb', line 85

def to_a
  items.to_a
end

#to_sObject



43
44
45
# File 'lib/pry/helpers/table.rb', line 43

def to_s
  rows_to_s.join("\n")
end