class Helium::Console::Formatters::MaxLines

Constants

ELLIPSES

Public Class Methods

new(max_lines:, max_width:, ellipses:) click to toggle source
# File lib/helium/console/formatters/max_lines.rb, line 9
def initialize(max_lines:, max_width:, ellipses:)
  @max_lines = max_lines
  @max_width = max_width
  @ellipses = ellipses
end

Public Instance Methods

call(string) click to toggle source
# File lib/helium/console/formatters/max_lines.rb, line 15
def call(string)
  return string if !@max_lines || string.lines.count <= @max_lines

  lines = string.lines.first(@max_lines)
  last_line = lines.pop
  lines << last_line.chars.first(@max_width - @ellipses.length).join + @ellipses
  lines.join
end