Method: Qcmd::Plaintext#centered_text

Defined in:
lib/qcmd/plaintext.rb

#centered_text(line, char = ' ') ⇒ Object



104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/qcmd/plaintext.rb', line 104

def centered_text line, char=' '
  if line.size > columns && line.split(' ').all? {|chunk| chunk.size < columns}
    # wrap the text then center each line, then join
    return wrapped_text(line).map {|l| centered_text(l, char)}.join("\n")
  end

  diff = (columns - line.size)

  return line if diff < 0

  lpad = diff / 2
  rpad = diff - lpad

  "%s%s%s" % [char * lpad, line, char * rpad]
end