class Guard::Bosh::JobRepository
Wraps access to manifest jobs and templates
Public Class Methods
new(deployment_manifest)
click to toggle source
# File lib/guard/bosh/job_repository.rb, line 8 def initialize(deployment_manifest) @manifest = deployment_manifest end
Public Instance Methods
find_by_template(job)
click to toggle source
# File lib/guard/bosh/job_repository.rb, line 16 def find_by_template(job) jobs_using_template = @manifest['jobs'].select do |manifest_job| template_names(manifest_job).include?(job) end jobs_using_template.map { |j| j['name'] } end
job_templates()
click to toggle source
# File lib/guard/bosh/job_repository.rb, line 12 def job_templates @manifest['jobs'].flat_map { |j| template_names(j) }.sort.uniq end
template_paths(job)
click to toggle source
# File lib/guard/bosh/job_repository.rb, line 23 def template_paths(job) job_dir = Pathname.new('jobs') + job YAML.load_file(job_dir + 'spec')['templates'].keys.map do |template| job_dir + 'templates' + template end end
Private Instance Methods
template_names(manifest_job)
click to toggle source
# File lib/guard/bosh/job_repository.rb, line 32 def template_names(manifest_job) if manifest_job.key?('templates') manifest_job['templates'].map { |t| t['name'] } else Array(manifest_job['template']) end end