class MetadataDefinition

Attributes

definition[R]
job_name[R]

Public Class Methods

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

Public Instance Methods

has_attribute_with_value?(attribute, value) click to toggle source
# File lib/prof/matchers/metadata.rb, line 153
def has_attribute_with_value?(attribute, value)
  actual_value = definition.fetch(attribute) do
    raise MetadataError.new("Could not find attribute #{attribute} for definition #{definition_name} in job type: #{job_name}")
  end

  return true if actual_value == value
  raise MetadataError.new("Expected attribute #{attribute} value to be #{value} but it was #{actual_value} for definition #{definition_name} in job type: #{job_name}")
end
has_constraint_with_value?(constraint, value) click to toggle source
# File lib/prof/matchers/metadata.rb, line 162
def has_constraint_with_value?(constraint, value)
  actual_value = definition['constraints'].fetch(constraint) do
    raise MetadataError.new("Could not find constraint #{constraint} for definition #{definition_name} in job type: #{job_name}")
  end

  return true if actual_value == value
  raise MetadataError.new("Expected constraint #{constraint} value to be #{value} but it was #{actual_value} for definition #{definition_name} in job type: #{job_name}")
end

Private Instance Methods

definition_name() click to toggle source
# File lib/prof/matchers/metadata.rb, line 175
def definition_name
  definition['name']
end