class Riffer::Rig::Command::Context
Attributes
args
[R]
String
@dynamic args, runtime, host, settings
host
[R]
Riffer::Rig::Hosts::_Host
settings
[R]
Hash[Symbol, untyped]
Public Class Methods
(String command, String args, runtime: Riffer::Rig::Runtime, host: Riffer::Rig::Hosts::_Host, settings: Hash[Symbol, untyped], emit: ^(Riffer::Rig::Events::_Event) → void, turn: ^(String) → void) → void
Source
# File lib/riffer/rig/command/context.rb, line 22 def initialize(command, args, runtime:, host:, settings:, emit:, turn:) @command = command @args = args @runtime = runtime @host = host @settings = settings @emit = emit @turn = turn freeze end
@rbs command: String @rbs args: String @rbs runtime: Riffer::Rig::Runtime @rbs host: Riffer::Rig::Hosts::_Host @rbs settings: Hash[Symbol, untyped] @rbs emit: ^(Riffer::Rig::Events::_Event) -> void @rbs turn: ^(String) -> void @rbs return: void
Public Instance Methods
(?String? question, ?options: Array[String]?, ?secret: bool) → String?
Source
# File lib/riffer/rig/command/context.rb, line 57 def ask(question = nil, options: nil, secret: false) return unless host.capabilities.include?(:ask) host.ask(question, options: options, secret: secret) end
@rbs question: String? @rbs options: Array? @rbs secret: bool @rbs return: String?
(?String? question) → bool
Source
# File lib/riffer/rig/command/context.rb, line 65 def confirm(question = nil) return false unless host.capabilities.include?(:confirm) host.confirm(question) || false end
@rbs question: String? @rbs return: bool
(Riffer::Rig::Events::_Event event) → nil
Source
# File lib/riffer/rig/command/context.rb, line 41 def emit(event) @emit.call(event) nil end
@rbs event: Riffer::Rig::Events::_Event @rbs return: nil
(String text) → nil
Source
# File lib/riffer/rig/command/context.rb, line 48 def prompt(text) @turn.call(text) nil end
@rbs text: String @rbs return: nil
(String text) → nil
Source
# File lib/riffer/rig/command/context.rb, line 35 def say(text) emit(Riffer::Rig::Events::CommandOutput.new(@command, text)) end
@rbs text: String @rbs return: nil