Class: TablePrint::FixedWidthFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/mosespa.rb

Overview

Instance Method Summary collapse

Instance Method Details

#format(value) ⇒ Object



19
20
21
22
# File 'lib/mosespa.rb', line 19

def format(value)
  padding = width - strip_escape(value.to_s).each_char.collect{|c| c.bytesize == 1 ? 1 : 2}.inject(0, &:+)
  truncate(value) + (padding < 0 ? '' : " " * padding)
end

#strip_escape(value) ⇒ Object



15
16
17
# File 'lib/mosespa.rb', line 15

def strip_escape(value)
  value.gsub(%r{\e[^m]*m}, '')
end

#truncate(value) ⇒ Object



24
25
26
27
28
29
# File 'lib/mosespa.rb', line 24

def truncate(value)
  return "" unless value
  value = value.to_s
  return value unless strip_escape(value).length > width
  "#{value[0..width-4]}..."
end