class Bosh::Workspace::StubFile

Attributes

director_uuid[R]
name[R]

Public Class Methods

create(path, project_deployment) click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 5
def self.create(path, project_deployment)
  self.new(project_deployment).tap { |stub| stub.write(path) }
end
new(project_deployment) click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 9
def initialize(project_deployment)
  @name = project_deployment.name
  @director_uuid = project_deployment.director_uuid
  @releases = project_deployment.releases
  @stemcells = project_deployment.stemcells
  @meta = project_deployment.meta
end

Public Instance Methods

content() click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 21
def content
  {
    "name" => name,
    "director_uuid" => director_uuid,
    "releases" => releases,
    "meta" => meta
  }
end
meta() click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 34
def meta
  stemcells_meta.merge(@meta)
end
releases() click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 30
def releases
  filter_keys(@releases, %w(name version))
end
write(file) click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 17
def write(file)
  IO.write file, content.to_yaml
end

Private Instance Methods

filter_keys(array, keys) click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 40
def filter_keys(array, keys)
  array.map { |s| s.select { |key| keys.include?(key) } }
end
stemcell() click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 48
def stemcell
  stemcells[1] ? nil : stemcells[0]
end
stemcells() click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 44
def stemcells
  filter_keys(@stemcells, %w(name version))
end
stemcells_meta() click to toggle source
# File lib/bosh/workspace/stub_file.rb, line 52
def stemcells_meta
  stemcell.nil? ? { 'stemcells' => stemcells } : { 'stemcell' => stemcell }
end