Sha256: ce6bd91bb8a972a736bc934e4badcd9c69dca84e22840fdb0aadf74c2fdfc607
Contents?: true
Size: 1.47 KB
Versions: 11
Compression:
Stored size: 1.47 KB
Contents
module Terraspace module Core extend Memoist def env ENV['TS_ENV'] || "dev" end memoize :env @@root = nil def root @@root ||= ENV['TS_ROOT'] || Dir.pwd end # allow testing frameworks to switch roots def root=(v) @@root = v end def cache_root ENV['TS_CACHE_ROOT'] || config.build.cache_root || "#{root}/.terraspace-cache" end memoize :cache_root def tmp_root ENV['TS_TMP_ROOT'] || "/tmp/terraspace" end memoize :tmp_root def log_root "#{root}/log" end def configure(&block) App.instance.configure(&block) end # Generally, use the Terraspace.config instead of App.instance.config since it guarantees the load_project_config call def config App.instance.load_project_config App.instance.config end memoize :config @@logger = nil def logger @@logger ||= config.logger end # allow different logger when running up all def logger=(v) @@logger = v end def pass_file?(path) pass_files = config.build.pass_files + config.build.default_pass_files pass_files.uniq.detect do |i| i.is_a?(Regexp) ? path =~ i : path.include?(i) end end # Terraspace.argv provides consistency when terraspace is being called by rspec-terrspace test harness # So use Terraspace.argv instead of ARGV constant def argv=(argv) @@argv = argv end def argv @@argv end end end
Version data entries
11 entries across 11 versions & 1 rubygems