Class: Desiru::Persistence::Models::ModuleExecution

Inherits:
Base
  • Object
show all
Defined in:
lib/desiru/persistence/models/module_execution.rb

Overview

Tracks module execution history

Instance Method Summary collapse

Instance Method Details

#durationObject



21
22
23
24
25
# File 'lib/desiru/persistence/models/module_execution.rb', line 21

def duration
  return nil unless started_at && finished_at

  finished_at - started_at
end

#failed?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/desiru/persistence/models/module_execution.rb', line 31

def failed?
  status == 'failed'
end

#success?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/desiru/persistence/models/module_execution.rb', line 27

def success?
  status == 'completed'
end

#validateObject



15
16
17
18
19
# File 'lib/desiru/persistence/models/module_execution.rb', line 15

def validate
  super
  validates_presence %i[module_name status started_at]
  validates_includes %w[pending running completed failed], :status
end