Sha256: f2a7259b095ba25c1307329dd8673980b496a27e42e1351cf63a0a540e188a3d
Contents?: true
Size: 959 Bytes
Versions: 3
Compression:
Stored size: 959 Bytes
Contents
module Jkr class PlanFinder def initialize(jkr_env) @jkr_env = jkr_env end def find_by_name(name, options = {}) options[:plan_search_path] ||= [@jkr_env.jkr_plan_dir] options[:plan_search_path].each do |dir| Dir.glob("#{dir}/*.plan").each do |path| if File.basename(path, ".plan") == name return path end end end nil end def find_by_result_id(ret_id) ret_dir = Dir[sprintf("#{@jkr_env.jkr_result_dir}/%05d*", ret_id)].first unless ret_dir raise ArgumentError.new("Result not found: id=#{ret_id}") end plan_files = Dir["#{ret_dir}/*.plan"] if plan_files.size < 1 raise RuntimeError.new("No plan file found: #{File.basename(ret_dir)}") elsif plan_files.size > 1 raise RuntimeError.new("Multiple plan files found: #{File.basename(ret_dir)}") end plan_files.first end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jkr-0.2.2 | lib/jkr/planfinder.rb |
jkr-0.2.1 | lib/jkr/planfinder.rb |
jkr-0.1.0 | lib/jkr/planfinder.rb |