Class: SolidObserver::Params::JobsFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/solid_observer/params/jobs_filter.rb

Constant Summary collapse

ALLOWED_STATUSES =
%w[ready scheduled claimed failed].freeze
PSEUDO_STATUSES =
%w[all_active].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, queue_name:, job_class:, page:) ⇒ JobsFilter

Returns a new instance of JobsFilter.



20
21
22
23
24
25
# File 'lib/solid_observer/params/jobs_filter.rb', line 20

def initialize(status:, queue_name:, job_class:, page:)
  @status = normalize_status(status)
  @queue_name = queue_name
  @job_class = job_class
  @page = page
end

Instance Attribute Details

#job_classObject (readonly)

Returns the value of attribute job_class.



18
19
20
# File 'lib/solid_observer/params/jobs_filter.rb', line 18

def job_class
  @job_class
end

#pageObject (readonly)

Returns the value of attribute page.



18
19
20
# File 'lib/solid_observer/params/jobs_filter.rb', line 18

def page
  @page
end

#queue_nameObject (readonly)

Returns the value of attribute queue_name.



18
19
20
# File 'lib/solid_observer/params/jobs_filter.rb', line 18

def queue_name
  @queue_name
end

#statusObject (readonly)

Returns the value of attribute status.



18
19
20
# File 'lib/solid_observer/params/jobs_filter.rb', line 18

def status
  @status
end

Class Method Details

.from_params(params) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/solid_observer/params/jobs_filter.rb', line 9

def self.from_params(params)
  new(
    status: params[:status].presence || "all_active",
    queue_name: params[:queue_name].presence,
    job_class: params[:job_class].presence,
    page: (params[:page].presence || 1).to_i
  )
end