Sha256: d0fa8808e4b82729c75d87720d056590680ecc7b1033a3922909e4a9ff28d2f8
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
module Termtable class Cell attr_reader :value attr_accessor :max_column_size, :padding, :alignment, :total_padding def initialize(value) @value = value.to_s end def expand? max_column_size != value.to_s.size + total_padding end def left_padding count = case alignment when 'right' expand? ? max_column_size - value.to_s.size : padding when 'center' expand? ? (max_column_size - value.to_s.size) / 2 : padding else 0 end ' ' * count end def right_padding count = case alignment when 'right' 0 when 'center' if expand? && max_column_size.even? (max_column_size - value.to_s.size) / 2 elsif expand? && max_column_size.odd? (max_column_size - value.to_s.size) / 2 + 1 else padding end else expand? ? max_column_size - value.to_s.size : padding end ' ' * count end def render "#{left_padding}#{value}#{right_padding}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
termtable-0.1.0 | lib/termtable/cell.rb |