Class: OmnifocusMcp::Tools::Operations::BatchAddItems::BatchItem

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

Overview

In-flight bookkeeping for one item in a batch. The original payload and its position in the input array are read-only; status and result are mutated as the batch processes.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(payload:, index:) ⇒ BatchItem

Returns a new instance of BatchItem.



16
17
18
19
20
21
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/batch_item.rb', line 16

def initialize(payload:, index:)
  @payload = payload
  @index = index
  @status = :pending
  @result = nil
end

Instance Attribute Details

#indexObject (readonly)

Returns the value of attribute index.



13
14
15
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/batch_item.rb', line 13

def index
  @index
end

#payloadObject (readonly)

Returns the value of attribute payload.



13
14
15
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/batch_item.rb', line 13

def payload
  @payload
end

#resultObject

Returns the value of attribute result.



14
15
16
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/batch_item.rb', line 14

def result
  @result
end

#statusObject

Returns the value of attribute status.



14
15
16
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/batch_item.rb', line 14

def status
  @status
end

Instance Method Details

#fail!(message) ⇒ Object



25
26
27
28
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/batch_item.rb', line 25

def fail!(message)
  @status = :failed
  @result = OmnifocusMcp::Result.error(message)
end

#pending?Boolean

Returns:

  • (Boolean)


23
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/batch_item.rb', line 23

def pending? = @status == :pending

#succeed!(value) ⇒ Object



30
31
32
33
# File 'lib/omnifocus_mcp/tools/operations/batch_add_items/batch_item.rb', line 30

def succeed!(value)
  @status = :succeeded
  @result = OmnifocusMcp::Result.ok(value)
end