Class: ForemanPipeline::JobFilter

Inherits:
Object
  • Object
show all
Defined in:
app/services/foreman_pipeline/job_filter.rb

Instance Method Summary collapse

Instance Method Details

#allow_run_for?(job) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'app/services/foreman_pipeline/job_filter.rb', line 4

def allow_run_for?(job)
 allowed?(job) && job.target_cv_version_avail?
end

#allowed?(job) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'app/services/foreman_pipeline/job_filter.rb', line 8

def allowed?(job)
  job.is_valid? && job.not_yet_promoted?
end

#allowed_jobs_for_cv(content_view) ⇒ Object



26
27
28
29
30
31
32
# File 'app/services/foreman_pipeline/job_filter.rb', line 26

def allowed_jobs_for_cv(content_view)
  content_view.jobs.select do |job|
    allowed?(job) &&
    job.environment.library? &&
    job.levelup_trigger
  end
end

#allowed_jobs_for_cvv(version) ⇒ Object



17
18
19
20
21
22
23
24
# File 'app/services/foreman_pipeline/job_filter.rb', line 17

def allowed_jobs_for_cvv(version)
  jobs = ForemanPipeline::Job.where(:content_view_id => version.content_view_id)
  jobs.select do |job|
    allowed?(job) &&
    job.levelup_trigger &&
    version == job.target_cv_version
  end
end

#allowed_jobs_for_repo(repo) ⇒ Object



12
13
14
15
# File 'app/services/foreman_pipeline/job_filter.rb', line 12

def allowed_jobs_for_repo(repo)
  jobs = ForemanPipeline::Job.where(:content_view_id => repo.content_view_ids)
  jobs.select { |job| allow_run_for?(job) && job.sync_trigger }
end