class Riffer::Rig::Terminal::Console
Public Class Methods
(frame: Riffer::Rig::Terminal::Frame, pipeline: Riffer::Rig::Terminal::KeyPipeline, loading: Riffer::Rig::Terminal::Loading, idle: Riffer::Rig::Terminal::IdleTicker) → void
Source
# File lib/riffer/rig/terminal/console.rb, line 14 def initialize(frame:, pipeline:, loading:, idle:) @frame = frame @pipeline = pipeline @loading = loading @idle = idle end
@rbs frame: Riffer::Rig::Terminal::Frame @rbs pipeline: Riffer::Rig::Terminal::KeyPipeline @rbs loading: Riffer::Rig::Terminal::Loading @rbs idle: Riffer::Rig::Terminal::IdleTicker @rbs return: void
Public Instance Methods
() → void
Source
# File lib/riffer/rig/terminal/console.rb, line 53 def flush # The frame flushes each line it appends. end
@rbs return: void
(*String chunks) → void
Source
# File lib/riffer/rig/terminal/console.rb, line 41 def print(*chunks) text = chunks.join @frame.append(text) unless text.empty? end
@rbs *chunks: String @rbs return: void
(?String line) → void
Source
# File lib/riffer/rig/terminal/console.rb, line 48 def puts(line = '') print(line.end_with?("\n") ? line : "#{line}\n") end
@rbs line: String @rbs return: void
() → void
Source
# File lib/riffer/rig/terminal/console.rb, line 22 def start # The first tick pushes the animated line before the frame draws, so the # loading row is animated from its first write. @loading.start @frame.start @idle.start @pipeline.start end
@rbs return: void
() → void
Source
# File lib/riffer/rig/terminal/console.rb, line 32 def stop @pipeline.stop @idle.stop @frame.stop @loading.stop end
@rbs return: void
() → bool
Source
# File lib/riffer/rig/terminal/console.rb, line 58 def tty? false end
@rbs return: bool