module PryState::Printer
Constants
- COLUMN_RATIO
Ratios are 1:3 left:right, or 1/4 left
- LEFT_COLUMN_WIDTH
- MAX_LEFT_COLUMN_WIDTH
- TRUNCATE
Defaults to true
- WIDTH
Public Instance Methods
trunc_and_print(var, value, var_color, value_color)
click to toggle source
# File lib/pry-state/printer.rb, line 14 def trunc_and_print var, value, var_color, value_color var_name_adjusted = var.to_s.ljust(LEFT_COLUMN_WIDTH) # Ensure at least 1 space between left and right columns left_column_text = truncate(var_name_adjusted, LEFT_COLUMN_WIDTH - 1) + ' ' print Pry::Helpers::Text.send(var_color, left_column_text) print stringified_val_or_nil(value, value_color, WIDTH - LEFT_COLUMN_WIDTH) print "\n" end
Private Instance Methods
stringified_val_or_nil(value, color, length)
click to toggle source
# File lib/pry-state/printer.rb, line 31 def stringified_val_or_nil value, color, length value = stringify_value value if value.empty? Pry::Helpers::Text.red 'nil' else text = truncate(value, length) Pry::Helpers::Text.send(color, text) end end
stringify_value(value)
click to toggle source
# File lib/pry-state/printer.rb, line 41 def stringify_value value if value.class == String "\"#{value}\"" elsif value.class == Array "len:#{value.count} #{value.inspect}" else value.inspect end end
truncate(text, length)
click to toggle source
# File lib/pry-state/printer.rb, line 24 def truncate text, length if text.nil? then return end return text unless ENV['TRUNCATE'] l = length - "...".length (text.chars.to_a.size > length ? text.chars.to_a[0...l].join + "..." : text).to_s end