Class: Suxess::Evaluators::TaskTimeEvaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/suxess/evaluators/task_time_evaluator.rb

Instance Method Summary (collapse)

Instance Method Details

- (Object) evaluate(id)

This method will be called by sidekiq

Parameters:

  • id


7
8
9
10
11
12
13
14
# File 'lib/suxess/evaluators/task_time_evaluator.rb', line 7

def evaluate(id)
  @task_run = TaskRun.find(id)

  unless @task_run.nil?
    time = get_time(@task_run)
    save_result(@task_run, time)
  end
end

- (Object) get_time(task_run)

This method returns time of task run execution (in miliseconds)

Parameters:

  • task_run

Returns:

  • time



19
20
21
# File 'lib/suxess/evaluators/task_time_evaluator.rb', line 19

def get_time(task_run)
  return (task_run.finished_at - task_run.started_at)
end

- (Object) save_result(task_run, time)

this method persists evaluation result into DB.

Parameters:

  • task_run,

    time (time of taskrun execution)



26
27
28
29
30
31
32
33
# File 'lib/suxess/evaluators/task_time_evaluator.rb', line 26

def save_result(task_run, time)
  Result.create(task_id: task_run.task_id,
                task_run_id: task_run.id,
                project_id: task_run.task.project_id,
                result_type: :task_time,
                user_id: task_run.user.id,
                result: {:time => time})
end