Class: Jkr::Analysis

Inherits:
Object
  • Object
show all
Defined in:
lib/jkr/analysis.rb

Class Method Summary collapse

Class Method Details

.analyze(env, resultset_num) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/jkr/analysis.rb', line 4

def self.analyze(env, resultset_num)
  resultset_num = sprintf "%03d", resultset_num.to_i
  resultset_dir = Dir.glob(File.join(env.jkr_result_dir, resultset_num)+"*")
  if resultset_dir.size != 1
    raise RuntimeError.new "cannot specify resultset dir (#{resultset_dir.join(" ")})"
  end
  resultset_dir = resultset_dir.first

  plan_files = Dir.glob(File.join(resultset_dir, "*.plan"))
  if plan_files.size == 0
    raise RuntimeError.new "cannot find plan file"
  elsif plan_files.size > 1
    raise RuntimeError.new "there are two or more plan files"
  end
  plan_file_path = plan_files.first

  plan = Jkr::Plan.new(env, plan_file_path)

  Jkr::AnalysisUtils.define_analysis_utils(resultset_dir, plan)
  plan.analysis.call(plan)
  Jkr::AnalysisUtils.undef_analysis_utils(plan)
end