module Pry::Helpers
Public Class Methods
tablify(things, line_length, pry_instance = Pry.new)
click to toggle source
# File lib/pry/helpers/table.rb, line 27 def self.tablify(things, line_length, pry_instance = Pry.new) table = Table.new(things, { column_count: things.size }, pry_instance) until (table.column_count == 1) || table.fits_on_line?(line_length) table.column_count -= 1 end table end
tablify_or_one_line(heading, things, pry_instance = Pry.new)
click to toggle source
# File lib/pry/helpers/table.rb, line 5 def self.tablify_or_one_line(heading, things, pry_instance = Pry.new) plain_heading = Pry::Helpers::Text.strip_color(heading) attempt = Table.new(things, column_count: things.size) if attempt.fits_on_line?(pry_instance.output.width - plain_heading.size - 2) "#{heading}: #{attempt}\n" else content = tablify_to_screen_width(things, { indent: ' ' }, pry_instance) "#{heading}: \n#{content}\n" end end
tablify_to_screen_width(things, options, pry_instance = Pry.new)
click to toggle source
# File lib/pry/helpers/table.rb, line 16 def self.tablify_to_screen_width(things, options, pry_instance = Pry.new) options ||= {} things = things.compact if (indent = options[:indent]) usable_width = pry_instance.output.width - indent.size tablify(things, usable_width, pry_instance).to_s.gsub(/^/, indent) else tablify(things, pry_instance.output.width, pry_instance).to_s end end