Class: OmnifocusMcp::Tools::Operations::EditItem

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

Constant Summary collapse

Edited =
Generators::EditItem::Edited

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of EditItem.



32
33
34
35
# File 'lib/omnifocus_mcp/tools/operations/edit_item.rb', line 32

def initialize(script_runner: Infrastructure::ScriptRunner, generator: Generators::EditItem)
  @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/edit_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_scriptObject



20
# File 'lib/omnifocus_mcp/tools/operations/edit_item.rb', line 20

def generate_apple_script(...) = Generators::EditItem.generate_apple_script(...)

Instance Method Details

#call(params) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/omnifocus_mcp/tools/operations/edit_item.rb', line 37

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