Class: CliSpinnable::Line

Inherits:
Object
  • Object
show all
Defined in:
lib/cli_spinnable/line.rb,
lib/cli_spinnable/line/sign.rb,
lib/cli_spinnable/line/colourable_string.rb

Defined Under Namespace

Modules: ColourableString Classes: Error, Sign

Constant Summary collapse

CARRIAGE_RETURN =
"\r".freeze
NEWLINE =
"\n".freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(str = nil, sign = nil, newline = nil) ⇒ Line

Returns a new instance of Line.



10
11
12
13
14
# 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

Instance Attribute Details

#newlineObject

Returns the value of attribute newline.



8
9
10
# File 'lib/cli_spinnable/line.rb', line 8

def newline
  @newline
end

#sign=(sym) ⇒ Object



16
17
18
# File 'lib/cli_spinnable/line.rb', line 16

def sign=(sym)
  sign.sign = sym
end

#str=(arg) ⇒ Object



24
25
26
# File 'lib/cli_spinnable/line.rb', line 24

def str=(arg)
  @str = ensure_single_line(String(arg))
end

Instance Method Details

#<<(arg) ⇒ Object



20
21
22
# File 'lib/cli_spinnable/line.rb', line 20

def <<(arg)
  str << ensure_single_line(String(arg))
end

#to_s_resetting_newlineObject



28
29
30
# File 'lib/cli_spinnable/line.rb', line 28

def to_s_resetting_newline
  [CARRIAGE_RETURN, sign, str, newline_with_reset].join
end