Class: Aidp::Interfaces::StubBinaryChecker

Inherits:
Object
  • Object
show all
Includes:
BinaryCheckerInterface
Defined in:
lib/aidp/interfaces/binary_checker_interface.rb

Overview

StubBinaryChecker returns configurable responses. Useful for testing specific scenarios.

Examples:

Stubbing availability

checker = StubBinaryChecker.new(available: {"claude" => true, "cursor-agent" => false})
checker.available?("claude")       # => true
checker.available?("cursor-agent") # => false
checker.available?("unknown")      # => false

Instance Method Summary collapse

Constructor Details

#initialize(available: {}, paths: {}) ⇒ StubBinaryChecker

Returns a new instance of StubBinaryChecker.

Parameters:

  • available (Hash<String, Boolean>) (defaults to: {})

    map of binary names to availability

  • paths (Hash<String, String>) (defaults to: {})

    map of binary names to paths



84
85
86
87
# File 'lib/aidp/interfaces/binary_checker_interface.rb', line 84

def initialize(available: {}, paths: {})
  @available = available
  @paths = paths
end

Instance Method Details

#available?(binary_name) ⇒ Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/aidp/interfaces/binary_checker_interface.rb', line 89

def available?(binary_name)
  @available.fetch(binary_name.to_s, false)
end

#path_for(binary_name) ⇒ Object



93
94
95
# File 'lib/aidp/interfaces/binary_checker_interface.rb', line 93

def path_for(binary_name)
  @paths[binary_name.to_s]
end