class Tataru::Instructions::RescmpInstruction

compares resource in temp and resource in top

Public Instance Methods

compare(current, desired) click to toggle source
# File lib/tataru/instructions/rescmp_instruction.rb, line 22
def compare(current, desired)
  result = :no_change
  desc.mutable_fields.each do |field|
    result = :modify if current[field] != desired[field]
  end
  desc.immutable_fields.each do |field|
    result = :recreate if current[field] != desired[field]
  end
  result
end
run() click to toggle source
# File lib/tataru/instructions/rescmp_instruction.rb, line 9
def run
  raise 'Not found' unless rom.key? resource_name

  update!
end
update!() click to toggle source
# File lib/tataru/instructions/rescmp_instruction.rb, line 15
def update!
  current = memory.hash[:temp][resource_name]
  desired = resolve(rom[resource_name])

  memory.hash[:update_action][resource_name] = compare(current, desired)
end