Class: Karafka::Web::Ui::Models::Jobs

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Enumerable
Defined in:
lib/karafka/web/ui/models/jobs.rb

Overview

Model representing group of jobs

It simplifies filtering on running jobs and others, etc

Instance Method Summary collapse

Constructor Details

#initialize(jobs_array) ⇒ Jobs

Returns a new instance of Jobs.

Parameters:

  • jobs_array (Array<Job>)

    all jobs we want to enclose



19
20
21
# File 'lib/karafka/web/ui/models/jobs.rb', line 19

def initialize(jobs_array)
  @jobs_array = jobs_array
end

Instance Method Details

#eachObject

Allows for iteration over jobs



40
41
42
# File 'lib/karafka/web/ui/models/jobs.rb', line 40

def each(&)
  @jobs_array.each(&)
end

#pendingJobs

Returns pending jobs.

Returns:

  • (Jobs)

    pending jobs



29
30
31
# File 'lib/karafka/web/ui/models/jobs.rb', line 29

def pending
  select { |job| job.status == "pending" }
end

#runningJobs

Returns running jobs.

Returns:

  • (Jobs)

    running jobs



24
25
26
# File 'lib/karafka/web/ui/models/jobs.rb', line 24

def running
  select { |job| job.status == "running" }
end

#selectJobs

Creates a new Jobs object with selected jobs

Returns:

  • (Jobs)

    selected jobs enclosed with the Jobs object



35
36
37
# File 'lib/karafka/web/ui/models/jobs.rb', line 35

def select(&)
  self.class.new(super)
end