Module: Ace::Tmux::Molecules::WaitConditionValidator

Defined in:
lib/ace/tmux/molecules/wait_condition_validator.rb

Constant Summary collapse

ALLOWED =
%w[agent output window-exists window-active pane-exists pane-exited].freeze

Class Method Summary collapse

Class Method Details

.validate!(condition:, pattern:) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/ace/tmux/molecules/wait_condition_validator.rb', line 11

def validate!(condition:, pattern:)
  normalized = condition.to_s.strip
  raise Ace::Tmux::ValidationError, "--for is required" if normalized.empty?
  raise Ace::Tmux::ValidationError, "Unsupported wait condition: #{condition}" unless ALLOWED.include?(normalized)

  if normalized == "output" && pattern.to_s.strip.empty?
    raise Ace::Tmux::ValidationError, "--pattern is required when waiting for output"
  end

  normalized
end