Module: OllamaAgent::ExternalAgents::PathValidator
- Defined in:
- lib/ollama_agent/external_agents/path_validator.rb
Overview
Ensures paths stay under a project root (expanded, absolute).
Class Method Summary collapse
- .validate_within_root!(root, paths) ⇒ Object
-
.within_root?(absolute_path, expanded_root) ⇒ Boolean
Both arguments should already be expanded absolute paths (e.g. from Pathname or File.expand_path).
Class Method Details
.validate_within_root!(root, paths) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/ollama_agent/external_agents/path_validator.rb', line 8 def validate_within_root!(root, paths) root = File.(root) Array(paths).each do |p| next if p.to_s.strip.empty? abs = File.(p, root) next if within_root?(abs, root) warn "ollama_agent: PathValidator rejected path outside project root (#{p.inspect})" if ENV["OLLAMA_AGENT_DEBUG"] == "1" raise ArgumentError, "path outside project root" end end |
.within_root?(absolute_path, expanded_root) ⇒ Boolean
Both arguments should already be expanded absolute paths (e.g. from Pathname or File.expand_path).
22 23 24 25 26 |
# File 'lib/ollama_agent/external_agents/path_validator.rb', line 22 def within_root?(absolute_path, ) = File.() abs = absolute_path.to_s abs == || abs.start_with?( + File::SEPARATOR) end |