Sha256: a4826e999813ca52209aa4320edef4b91fceab3b8d50c8399587aae27706bc30
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
module Printer extend self def trunc_and_print var, value, var_color, value_color width = ENV['COLUMNS'] ? ENV['COLUMNS'].to_i : 80 # Ratios are 1:3 left:right left_column_width = width / 4 left_column_width = left_column_width < 25 ? 25 : left_column_width 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 def truncate text, length if text.nil? then return end l = length - "...".length (text.chars.to_a.size > length ? text.chars.to_a[0...l].join + "..." : text).to_s end 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 def stringify_value value if value.class == String "\"#{value}\"" elsif value.class == Array "len:#{value.count} #{value.inspect}" else value.inspect end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pry-state-0.1.8 | lib/pry-state/printer.rb |