Sha256: 5cf717c0327963472dfe45f3ce3e2c32a0fc1e5425f40af06e244f2d5549735a

Contents?: true

Size: 902 Bytes

Versions: 1

Compression:

Stored size: 902 Bytes

Contents

require 'fileutils'
require 'term/ansicolor'

module Jkr
  class Env
    attr_reader :env_dir
    attr_reader :jkr_dir
    attr_reader :jkr_result_dir
    attr_reader :jkr_plan_dir
    attr_reader :jkr_script_dir

    PLAN_DIR = "plan"
    RESULT_DIR = "result"
    SCRIPT_DIR = "script"

    def initialize(env_dir = Dir.pwd)
      @env_dir = env_dir
      @jkr_dir = File.join(@env_dir, "jkr")
      @jkr_plan_dir = File.join(@jkr_dir, PLAN_DIR)
      @jkr_result_dir = File.join(@jkr_dir, RESULT_DIR)
      @jkr_script_dir = File.join(@jkr_dir, SCRIPT_DIR)

      unless Dir.exists?(@jkr_dir)
        raise Errno::ENOENT.new(@jkr_dir)
      end

      [@jkr_dir,
       @jkr_result_dir,
       @jkr_plan_dir,
       @jkr_script_dir].each do |dir_path|
        unless Dir.exists?(dir_path)
          raise ArgumentError.new("Directory #{dir_path} not found")
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jkr-0.1.0 lib/jkr/env.rb