Class: Ace::Tmux::CLI::Commands::Wait

Inherits:
Support::Cli::Command
  • Object
show all
Includes:
Support::Cli::Base
Defined in:
lib/ace/tmux/cli/commands/wait.rb

Instance Method Summary collapse

Instance Method Details

#call(**options) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/ace/tmux/cli/commands/wait.rb', line 36

def call(**options)
  Organisms::ControlSurface.new.wait_for_condition(
    condition: options[:for],
    session: options[:session],
    window: options[:window],
    pane: options[:pane],
    pattern: options[:pattern],
    lines: options[:lines],
    timeout: Float(options[:timeout]),
    interval: Float(options[:interval])
  )
  puts "Condition met: #{options[:for]}" unless options[:quiet]
rescue Ace::Tmux::Error => e
  raise Ace::Support::Cli::Error, e.message
rescue ArgumentError
  raise Ace::Support::Cli::Error, "--timeout and --interval must be numeric"
end