class CliSpinnable::Line::Sign

Constants

AVAILABLE_SIGNS
BLANK
FAIL
SPIN
TICK

Attributes

sign[R]

Public Class Methods

new(sign = nil) click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 15
def initialize(sign = nil)
  self.sign = sign || :blank
end

Public Instance Methods

sign=(sign) click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 19
def sign=(sign)
  raise Error, "Unavailable sign: #{sign || 'nil'}" unless AVAILABLE_SIGNS.include?(sign)
  @sign = sign
  self
end
to_s() click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 25
def to_s
  send(sign) + separator
end

Private Instance Methods

blank() click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 49
def blank
  BLANK
end
fail() click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 45
def fail
  FAIL
end
separator() click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 33
def separator
  sign == :blank ? '' : ' '
end
spin() click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 37
def spin
  spinner_enum.next
end
spinner_enum() click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 53
def spinner_enum
  @spinner_enum ||= SPIN.cycle
end
tick() click to toggle source
# File lib/cli_spinnable/line/sign.rb, line 41
def tick
  TICK
end