Class: OmnifocusMcp::Tools::Operations::QueryOmnifocusDebug

Inherits:
Object
  • Object
show all
Defined in:
lib/omnifocus_mcp/tools/operations/query_omnifocus_debug.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(script_runner: Infrastructure::ScriptRunner, generator: Generators::QueryOmnifocusDebug) ⇒ QueryOmnifocusDebug

Returns a new instance of QueryOmnifocusDebug.



22
23
24
25
# File 'lib/omnifocus_mcp/tools/operations/query_omnifocus_debug.rb', line 22

def initialize(script_runner: Infrastructure::ScriptRunner, generator: Generators::QueryOmnifocusDebug)
  @script_runner = script_runner
  @generator = generator
end

Class Method Details

.call(entity, script_runner: Infrastructure::ScriptRunner) ⇒ Object



15
16
17
# File 'lib/omnifocus_mcp/tools/operations/query_omnifocus_debug.rb', line 15

def call(entity, script_runner: Infrastructure::ScriptRunner)
  new(script_runner:).call(entity)
end

.generate_debug_scriptObject



19
# File 'lib/omnifocus_mcp/tools/operations/query_omnifocus_debug.rb', line 19

def generate_debug_script(...) = Generators::QueryOmnifocusDebug.generate_debug_script(...)

Instance Method Details

#call(entity) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/omnifocus_mcp/tools/operations/query_omnifocus_debug.rb', line 27

def call(entity)
  normalized = entity.to_s
  return OmnifocusMcp::Result.error(unknown_entity_message(normalized)) unless ENTITIES.include?(normalized)

  generator.generate_debug_script(normalized).then do |script|
    script_runner.execute_omnifocus_source(script)
                 .and_then { |response| classify_response(response) }
  end
rescue StandardError => e
  OmnifocusMcp.logger.warn("[query_omnifocus_debug] Error: #{e}")
  OmnifocusMcp::Result.error(e.message || "Unknown error in query_omnifocus_debug")
end