Sha256: 193fbe0bd66f6c70a76939f6c3c330c9d4245efecbbac51d360a354dbe2785e9

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

module Terraspace
  class App
    include Singleton
    include DslEvaluator

    attr_reader :config
    def initialize
      @config = defaults
    end

    def defaults
      config = ActiveSupport::OrderedOptions.new
      config.test_framework = "rspec"
      config.logger = Logger.new($stdout)
      config.logger.level = :info
      config.hooks = Hooks.new
      config.cloud = ActiveSupport::OrderedOptions.new
      config.cloud.overwrite = true
      config.cloud.overwrite_sensitive = true
      config.cloud.relative_root = nil
      config.build = ActiveSupport::OrderedOptions.new
      config.build.cache_root = nil # defaults to /full/path/to/.terraspace-cache
      config.build.cache_dir = ":CACHE_ROOT/:REGION/:ENV/:BUILD_DIR"
      config.build.clean_cache = nil # defaults to /full/path/to/.terraspace-cache
      config
    end

    def configure
      yield(@config)
    end

    def load_project_config
      evaluate_file("#{Terraspace.root}/config/app.rb")
      path = "#{Terraspace.root}/config/env/#{Terraspace.env}.rb"
      evaluate_file(path)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
terraspace-0.2.4 lib/terraspace/app.rb
terraspace-0.2.3 lib/terraspace/app.rb