module Tataru::RomReader

Reads Rom values

Public Instance Methods

resolve(object) click to toggle source
# File lib/tataru/rom_reader.rb, line 10
def resolve(object)
  case object[:type]
  when :literal
    object[:value]
  when :hash
    resolve_hash(object)
  when :array
    resolve_array(object)
  when :output
    resolve_output(object)
  end
end
resolve_array(object) click to toggle source
# File lib/tataru/rom_reader.rb, line 23
def resolve_array(object)
  result = []
  object[:references].each do |k, v|
    result[k] = resolve(rom[v])
  end
  result
end
resolve_hash(object) click to toggle source
# File lib/tataru/rom_reader.rb, line 31
def resolve_hash(object)
  result = {}
  object[:references].each do |k, v|
    result[k] = resolve(rom[v])
  end
  result
end
resolve_output(object) click to toggle source
# File lib/tataru/rom_reader.rb, line 39
def resolve_output(object)
  if object[:output] == :remote_id
    memory.hash[:remote_ids][object[:resource]]
  else
    memory.hash[:outputs][object[:resource]][object[:output]]
  end
end
rom() click to toggle source
# File lib/tataru/rom_reader.rb, line 6
def rom
  memory.hash[:rom]
end