Module: RailVerdict::MCP::RepositoryRoot

Defined in:
lib/rail_verdict/mcp/repository_root.rb

Class Method Summary collapse

Class Method Details

.contained?(root, path) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
# File 'lib/rail_verdict/mcp/repository_root.rb', line 19

def self.contained?(root, path)
  require_relative "../path_safety"
  RailVerdict::PathSafety.contained?(root, path)
end

.resolve(requested) ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/rail_verdict/mcp/repository_root.rb', line 6

def self.resolve(requested)
  raw = requested && !requested.to_s.strip.empty? ? requested.to_s.strip : Dir.pwd
  expanded = File.expand_path(raw)
  real = begin
    File.realpath(expanded)
  rescue Errno::ENOENT
    expanded
  end
  raise ArgumentError, "repository root is not a directory: #{real}" unless File.directory?(real)

  real.freeze
end