Class: Metarefine

Inherits:
Object
  • Object
show all
Defined in:
lib/topas-tools/Metarefine.rb

Instance Method Summary collapse

Constructor Details

#initialize(engine, input, basedir, steps) ⇒ Metarefine

Returns a new instance of Metarefine.



19
20
21
22
23
24
25
# File 'lib/topas-tools/Metarefine.rb', line 19

def initialize engine, input, basedir, steps
  @engine = engine
  @input = input
  @basedir = basedir
  @steps = steps 
  Dir.chdir @basedir
end

Instance Method Details

#toparun(analyzer, work_dir = File.expand_path(@input.base_name)) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/topas-tools/Metarefine.rb', line 27

def toparun analyzer, work_dir = File.expand_path(@input.base_name)
  Dir.mkdir(work_dir) unless Dir.exists? work_dir
  @steps.k1s.reduce(@input) do |inp, k1|
    out = @engine.tc work_dir, inp.set_k1(k1)
    analyzer.analyze(out) ? out : break
  end
  Dir.chdir @basedir
  analyzer.report
end