Class: OmnifocusMcp::Tools::Operations::RemoveItem

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

Defined Under Namespace

Classes: Removed

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of RemoveItem.



34
35
36
37
# File 'lib/omnifocus_mcp/tools/operations/remove_item.rb', line 34

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

Class Method Details

.call(params = nil, script_runner: Infrastructure::ScriptRunner, **kwargs) ⇒ Object



16
17
18
# File 'lib/omnifocus_mcp/tools/operations/remove_item.rb', line 16

def call(params = nil, script_runner: Infrastructure::ScriptRunner, **kwargs)
  merge_params(params, kwargs).then { new(script_runner:).call(it) }
end

.generate_apple_script(params = nil) ⇒ Object



20
21
22
# File 'lib/omnifocus_mcp/tools/operations/remove_item.rb', line 20

def generate_apple_script(params = nil, **)
  Generators::RemoveItem.generate_apple_script(params, **)
end

Instance Method Details

#call(params) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/omnifocus_mcp/tools/operations/remove_item.rb', line 39

def call(params)
  params = Params::McpBoundary.coerce(Params::RemoveItemParams, params)
  generator.generate_apple_script(params).then { |script| run_script(script) }
rescue StandardError => e
  OmnifocusMcp.logger.warn("[remove_item] Error: #{e}")
  OmnifocusMcp::Result.error(e.message || "Unknown error in remove_item")
end