class CliSpinnable::Line

Constants

CARRIAGE_RETURN
NEWLINE

Attributes

newline[RW]
sign[R]
str[R]

Public Class Methods

new(str = nil, sign = nil, newline = nil) click to toggle source
# File lib/cli_spinnable/line.rb, line 10
def initialize(str = nil, sign = nil, newline = nil)
  self.str = str
  @sign = Sign.new(sign)
  self.newline = newline
end

Public Instance Methods

<<(arg) click to toggle source
# File lib/cli_spinnable/line.rb, line 20
def <<(arg)
  str << ensure_single_line(String(arg))
end
sign=(sym) click to toggle source
# File lib/cli_spinnable/line.rb, line 16
def sign=(sym)
  sign.sign = sym
end
str=(arg) click to toggle source
# File lib/cli_spinnable/line.rb, line 24
def str=(arg)
  @str = ensure_single_line(String(arg))
end
to_s_resetting_newline() click to toggle source
# File lib/cli_spinnable/line.rb, line 28
def to_s_resetting_newline
  [CARRIAGE_RETURN, sign, str, newline_with_reset].join
end

Private Instance Methods

ensure_single_line(str) click to toggle source
# File lib/cli_spinnable/line.rb, line 36
def ensure_single_line(str)
  raise Error, 'Multiline strings not allowed' if str.include?(NEWLINE)
  str
end
newline_with_reset() click to toggle source
# File lib/cli_spinnable/line.rb, line 41
def newline_with_reset
  return unless newline
  self.newline = false
  NEWLINE
end