Module: RubyLLM::MCP::Handlers

Defined in:
lib/ruby_llm/mcp/handlers.rb,
lib/ruby_llm/mcp/handlers/promise.rb,
lib/ruby_llm/mcp/handlers/async_response.rb,
lib/ruby_llm/mcp/handlers/concerns/logging.rb,
lib/ruby_llm/mcp/handlers/concerns/options.rb,
lib/ruby_llm/mcp/handlers/sampling_handler.rb,
lib/ruby_llm/mcp/handlers/approval_decision.rb,
lib/ruby_llm/mcp/handlers/concerns/timeouts.rb,
lib/ruby_llm/mcp/handlers/concerns/lifecycle.rb,
lib/ruby_llm/mcp/handlers/elicitation_handler.rb,
lib/ruby_llm/mcp/handlers/elicitation_registry.rb,
lib/ruby_llm/mcp/handlers/concerns/guard_checks.rb,
lib/ruby_llm/mcp/handlers/concerns/error_handling.rb,
lib/ruby_llm/mcp/handlers/concerns/tool_filtering.rb,
lib/ruby_llm/mcp/handlers/concerns/async_execution.rb,
lib/ruby_llm/mcp/handlers/concerns/model_filtering.rb,
lib/ruby_llm/mcp/handlers/concerns/approval_actions.rb,
lib/ruby_llm/mcp/handlers/concerns/sampling_actions.rb,
lib/ruby_llm/mcp/handlers/human_in_the_loop_handler.rb,
lib/ruby_llm/mcp/handlers/human_in_the_loop_registry.rb,
lib/ruby_llm/mcp/handlers/concerns/elicitation_actions.rb,
lib/ruby_llm/mcp/handlers/concerns/registry_integration.rb

Defined Under Namespace

Modules: Concerns Classes: ApprovalDecision, AsyncResponse, ElicitationHandler, ElicitationRegistry, HumanInTheLoopHandler, HumanInTheLoopRegistry, Promise, SamplingHandler

Class Method Summary collapse

Class Method Details

.handler_class?(handler) ⇒ Boolean

Detect if a handler is a class (vs a block/proc/lambda)

Parameters:

  • handler (Object)

    the handler to check

Returns:

  • (Boolean)

    true if handler is a class



9
10
11
# File 'lib/ruby_llm/mcp/handlers.rb', line 9

def self.handler_class?(handler)
  handler.is_a?(Class) || (handler.respond_to?(:new) && !handler.respond_to?(:call))
end