class Bosh::Director::Models::Template

Public Instance Methods

consumes() click to toggle source
# File lib/bosh/director/models/template.rb, line 43
def consumes
  object_or_nil(self.consumes_json)
end
consumes=(consumes_spec) click to toggle source
# File lib/bosh/director/models/template.rb, line 39
def consumes=(consumes_spec)
  self.consumes_json = json_encode(consumes_spec)
end
logs() click to toggle source
# File lib/bosh/director/models/template.rb, line 24
def logs
  object_or_nil(self.logs_json)
end
logs=(logs_spec) click to toggle source
# File lib/bosh/director/models/template.rb, line 20
def logs=(logs_spec)
  self.logs_json = json_encode(logs_spec)
end
package_names() click to toggle source
# File lib/bosh/director/models/template.rb, line 12
def package_names
  object_or_nil(self.package_names_json)
end
package_names=(packages) click to toggle source
# File lib/bosh/director/models/template.rb, line 16
def package_names=(packages)
  self.package_names_json = json_encode(packages)
end
properties() click to toggle source

@return [Hash] Template properties (as provided in job spec) @return [nil] if no properties have been defined in job spec

# File lib/bosh/director/models/template.rb, line 35
def properties
  object_or_nil(self.properties_json)
end
properties=(property_spec) click to toggle source

@param [Object] property_spec Property spec from job spec

# File lib/bosh/director/models/template.rb, line 29
def properties=(property_spec)
  self.properties_json = json_encode(property_spec)
end
provides() click to toggle source
# File lib/bosh/director/models/template.rb, line 51
def provides
  object_or_nil(self.provides_json)
end
provides=(provides_spec) click to toggle source
# File lib/bosh/director/models/template.rb, line 47
def provides=(provides_spec)
  self.provides_json = json_encode(provides_spec)
end
validate() click to toggle source
# File lib/bosh/director/models/template.rb, line 6
def validate
  validates_presence [:release_id, :name, :version, :blobstore_id, :sha1]
  validates_unique [:release_id, :name, :version]
  validates_format VALID_ID, [:name, :version]
end

Private Instance Methods

json_encode(value) click to toggle source
# File lib/bosh/director/models/template.rb, line 65
def json_encode(value)
  value.nil? ? 'null' : JSON.generate(value)
end
object_or_nil(value) click to toggle source
# File lib/bosh/director/models/template.rb, line 57
def object_or_nil(value)
  if value == 'null' || value == nil
    nil
  else
    JSON.parse(value)
  end
end