Class: Guard::Bosh::JobRepository
- Inherits:
-
Object
- Object
- Guard::Bosh::JobRepository
- Defined in:
- lib/guard/bosh/job_repository.rb
Overview
Wraps access to manifest jobs and templates
Instance Method Summary collapse
- #find_by_template(job) ⇒ Object
-
#initialize(deployment_manifest) ⇒ JobRepository
constructor
A new instance of JobRepository.
- #job_templates ⇒ Object
- #template_paths(job) ⇒ Object
Constructor Details
#initialize(deployment_manifest) ⇒ JobRepository
Returns a new instance of JobRepository.
8 9 10 |
# File 'lib/guard/bosh/job_repository.rb', line 8 def initialize(deployment_manifest) @manifest = deployment_manifest end |
Instance Method Details
#find_by_template(job) ⇒ Object
16 17 18 19 20 21 |
# 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 ⇒ Object
12 13 14 |
# 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) ⇒ Object
23 24 25 26 27 28 |
# 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 |