class MetadataJob

Attributes

job[R]

Public Class Methods

new(job) click to toggle source
# File lib/prof/matchers/metadata.rb, line 105
def initialize(job)
  @job = job
end

Public Instance Methods

has_template?(template_name:) click to toggle source
# File lib/prof/matchers/metadata.rb, line 109
def has_template?(template_name:)
  job['job_templates'].include?(template_name).tap do |result|
    raise MetadataError.new("Could not find template '#{template_name}' for job #{job_name} in metadata") unless result
  end
end
instance_definition(definition_name:) click to toggle source
# File lib/prof/matchers/metadata.rb, line 115
def instance_definition(definition_name:)
  instance_definition = instance_definitions.find { |definition| definition['name'] == definition_name }.tap do |instance|
    raise MetadataError.new("Could not find instance type: #{definition_name} for job type: #{job_name}") unless instance
  end
  MetadataDefinition.new(instance_definition, job_name)
end
resource_definition(definition_name:) click to toggle source
# File lib/prof/matchers/metadata.rb, line 122
def resource_definition(definition_name:)
  resource_definition = resource_definitions.find { |definition| definition['name'] == definition_name }.tap do |resource|
    raise MetadataError.new("Could not find resource type: #{definition_name} for job type: #{job_name}") unless resource
  end
  MetadataDefinition.new(resource_definition, job_name)
end

Private Instance Methods

instance_definitions() click to toggle source
# File lib/prof/matchers/metadata.rb, line 137
def instance_definitions
  job['instance_definitions']
end
job_name() click to toggle source
# File lib/prof/matchers/metadata.rb, line 133
def job_name
  job['name']
end
resource_definitions() click to toggle source
# File lib/prof/matchers/metadata.rb, line 141
def resource_definitions
  job['resource_definitions']
end