class Infopark::UserIO::Progress
Attributes
label[R]
user_io[R]
Public Class Methods
new(label, user_io)
click to toggle source
# File lib/infopark/user_io.rb, line 16 def initialize(label, user_io) @label = label @user_io = user_io @spinner = "-\\|/" end
Public Instance Methods
finish()
click to toggle source
# File lib/infopark/user_io.rb, line 36 def finish if @started user_io.tell("… ", newline: false) user_io.tell("OK", color: :green, bright: true) @started = false end end
increment()
click to toggle source
# File lib/infopark/user_io.rb, line 30 def increment raise ImplementationError, "progress not started yet" unless @started user_io.tell(".", newline: false) reset_spinner end
spin()
click to toggle source
# File lib/infopark/user_io.rb, line 44 def spin raise ImplementationError, "progress not started yet" unless @started user_io.tell("#{@spinner[@spin_pos % @spinner.size]}\b", newline: false) @spin_pos += 1 end
start()
click to toggle source
# File lib/infopark/user_io.rb, line 22 def start unless @started user_io.tell("#{label} ", newline: false) @started = true reset_spinner end end
Private Instance Methods
reset_spinner()
click to toggle source
# File lib/infopark/user_io.rb, line 54 def reset_spinner @spin_pos = 0 end