Sha256: 68f8348c91988d78e47386be312d941b897f99d715c1281e298dc3315a033154

Contents?: true

Size: 640 Bytes

Versions: 3

Compression:

Stored size: 640 Bytes

Contents

module RocketJobMissionControl
  class CompletedJobsDatatable < JobsDatatable
    private

    def data
      jobs.map do |job|
        {
          '0' => class_with_link(job),
          '1' => h(job.description.try(:truncate, 50)),
          '2' => h(job.duration),
          '3' => h(completed_ago(job)),
          'DT_RowClass' => "card callout callout-#{job.state}"
        }
      end
    end

    def sort_column(index)
      columns = %w[_type description duration completed_at]
      columns[index.to_i]
    end

    def completed_ago(job)
      "#{RocketJob.seconds_as_duration(Time.now - job.completed_at)} ago"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rocketjob_mission_control-2.0.0 app/datatables/rocket_job_mission_control/completed_jobs_datatable.rb
rocketjob_mission_control-2.0.0.rc2 app/datatables/rocket_job_mission_control/completed_jobs_datatable.rb
rocketjob_mission_control-2.0.0.rc1 app/datatables/rocket_job_mission_control/completed_jobs_datatable.rb