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