Module: Terraspace::Core

Extended by:
Memoist
Included in:
Terraspace
Defined in:
lib/terraspace/core.rb

Constant Summary collapse

@@root =
nil
@@logger =
nil

Instance Method Summary collapse

Instance Method Details

#argvObject



68
69
70
# File 'lib/terraspace/core.rb', line 68

def argv
  @@argv
end

#argv=(argv) ⇒ Object

Terraspace.argv provides consistency when terraspace is being called by rspec-terrspace test harness So use Terraspace.argv instead of ARGV constant



64
65
66
# File 'lib/terraspace/core.rb', line 64

def argv=(argv)
  @@argv = argv
end

#cache_rootObject



20
21
22
# File 'lib/terraspace/core.rb', line 20

def cache_root
  ENV['TS_CACHE_ROOT'] || config.build.cache_root || "#{root}/.terraspace-cache"
end

#configObject

Generally, use the Terraspace.config instead of App.instance.config since it guarantees the load_project_config call



39
40
41
42
# File 'lib/terraspace/core.rb', line 39

def config
  App.instance.load_project_config
  App.instance.config
end

#configure(&block) ⇒ Object



34
35
36
# File 'lib/terraspace/core.rb', line 34

def configure(&block)
  App.instance.configure(&block)
end

#envObject



5
6
7
# File 'lib/terraspace/core.rb', line 5

def env
  ENV['TS_ENV'] || "dev"
end

#log_rootObject



30
31
32
# File 'lib/terraspace/core.rb', line 30

def log_root
  "#{root}/log"
end

#loggerObject



46
47
48
# File 'lib/terraspace/core.rb', line 46

def logger
  @@logger ||= config.logger
end

#logger=(v) ⇒ Object

allow different logger when running up all



51
52
53
# File 'lib/terraspace/core.rb', line 51

def logger=(v)
  @@logger = v
end

#pass_file?(path) ⇒ Boolean

Returns:

  • (Boolean)


55
56
57
58
59
60
# File 'lib/terraspace/core.rb', line 55

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

#rootObject



11
12
13
# File 'lib/terraspace/core.rb', line 11

def root
  @@root ||= ENV['TS_ROOT'] || Dir.pwd
end

#root=(v) ⇒ Object

allow testing frameworks to switch roots



16
17
18
# File 'lib/terraspace/core.rb', line 16

def root=(v)
  @@root = v
end

#tmp_rootObject



25
26
27
# File 'lib/terraspace/core.rb', line 25

def tmp_root
  ENV['TS_TMP_ROOT'] || "/tmp/terraspace"
end