Class: OmnifocusMcp::Tools::Operations::BatchRemoveItems

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(remove:) ⇒ BatchRemoveItems

Returns a new instance of BatchRemoveItems.



17
18
19
# File 'lib/omnifocus_mcp/tools/operations/batch_remove_items.rb', line 17

def initialize(remove:)
  @remove = remove
end

Class Method Details

.call(items, remove: Operations::RemoveItem.method(:call)) ⇒ Object



12
13
14
# File 'lib/omnifocus_mcp/tools/operations/batch_remove_items.rb', line 12

def call(items, remove: Operations::RemoveItem.method(:call))
  new(remove:).call(items)
end

Instance Method Details

#call(items) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/omnifocus_mcp/tools/operations/batch_remove_items.rb', line 21

def call(items)
  Array(items).map { |item| remove_one(coerce_item(item)) }
              .then { |results| OmnifocusMcp::Result.ok(results) }
rescue StandardError => e
  OmnifocusMcp.logger.warn("[batch_remove_items] Error: #{e}")
  OmnifocusMcp::Result.error(e.message || "Unknown error in batch_remove_items")
end