class Tataru::Quest

tataru

Attributes

dsl[R]

Public Class Methods

new(pool, current_state = {}) click to toggle source
# File lib/tataru/quest.rb, line 8
def initialize(pool, current_state = {})
  @pool = pool
  @current_state = current_state
  @dsl = TopDsl.new(pool)
end

Public Instance Methods

construct(&block) click to toggle source
# File lib/tataru/quest.rb, line 14
def construct(&block)
  @dsl.instance_eval(&block)
end
extant_dependencies() click to toggle source
# File lib/tataru/quest.rb, line 30
def extant_dependencies
  @current_state.map do |resname, info|
    [resname, info[:dependencies]]
  end.to_h
end
extant_resources() click to toggle source
# File lib/tataru/quest.rb, line 18
def extant_resources
  @current_state.map do |resname, info|
    [resname, info[:desc]]
  end.to_h
end
instr_hash() click to toggle source
# File lib/tataru/quest.rb, line 36
def instr_hash
  c = Compiler.new(@dsl, extant_resources, extant_dependencies)
  result = c.instr_hash
  result[:init][:remote_ids] = remote_ids
  result
end
remote_ids() click to toggle source
# File lib/tataru/quest.rb, line 24
def remote_ids
  @current_state.map do |resname, info|
    [resname, info[:name]]
  end.to_h
end