Class: Manceps::Task

Inherits:
Object
  • Object
show all
Defined in:
lib/manceps/task.rb

Overview

An MCP task for tracking long-running operations.

Constant Summary collapse

STATUSES =
%w[pending running completed failed cancelled].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Task

Returns a new instance of Task.



10
11
12
13
14
15
16
# File 'lib/manceps/task.rb', line 10

def initialize(data)
  @id = data['id']
  @status = data['status']
  @result = data['result']
  @error = data['error']
  @metadata = data['metadata'] || data['_meta']
end

Instance Attribute Details

#errorObject (readonly)

Returns the value of attribute error.



6
7
8
# File 'lib/manceps/task.rb', line 6

def error
  @error
end

#idObject (readonly)

Returns the value of attribute id.



6
7
8
# File 'lib/manceps/task.rb', line 6

def id
  @id
end

#metadataObject (readonly)

Returns the value of attribute metadata.



6
7
8
# File 'lib/manceps/task.rb', line 6

def 
  @metadata
end

#resultObject (readonly)

Returns the value of attribute result.



6
7
8
# File 'lib/manceps/task.rb', line 6

def result
  @result
end

#statusObject (readonly)

Returns the value of attribute status.



6
7
8
# File 'lib/manceps/task.rb', line 6

def status
  @status
end

Instance Method Details

#cancelled?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/manceps/task.rb', line 34

def cancelled?
  status == 'cancelled'
end

#completed?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/manceps/task.rb', line 26

def completed?
  status == 'completed'
end

#done?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/manceps/task.rb', line 38

def done?
  completed? || failed? || cancelled?
end

#failed?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/manceps/task.rb', line 30

def failed?
  status == 'failed'
end

#pending?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/manceps/task.rb', line 18

def pending?
  status == 'pending'
end

#running?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/manceps/task.rb', line 22

def running?
  status == 'running'
end