Sha256: 067b1f65d3e61cb267faa04e45c377b8ffb5e03c1dadbf0a13bd7b8b04e8a870

Contents?: true

Size: 756 Bytes

Versions: 25

Compression:

Stored size: 756 Bytes

Contents

module Terraspace
  module Booter
    def boot
      Terraspace::Bundle.require # load plugins
      load_plugin_default_configs
      Terraspace.config # load project config
      Terraspace::App::Hooks.run_hook(:on_boot)
      set_plugin_cache!
    end

    def load_plugin_default_configs
      Terraspace::Plugin.config_classes.each do |klass|
        # IE: TerraspacePluginAws::Interfaces::Config.instance.load_project_config
        klass.instance.load_project_config
      end
    end

    def set_plugin_cache!
      plugin_cache = Terraspace.config.terraform.plugin_cache
      return unless plugin_cache.enabled
      dir = ENV['TF_PLUGIN_CACHE_DIR'] ||= plugin_cache.dir
      FileUtils.mkdir_p(dir)
      dir
    end

    extend self
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
terraspace-0.5.12 lib/terraspace/booter.rb
terraspace-0.5.11 lib/terraspace/booter.rb
terraspace-0.5.10 lib/terraspace/booter.rb
terraspace-0.5.9 lib/terraspace/booter.rb
terraspace-0.5.8 lib/terraspace/booter.rb
terraspace-0.5.7 lib/terraspace/booter.rb
terraspace-0.5.6 lib/terraspace/booter.rb
terraspace-0.5.5 lib/terraspace/booter.rb
terraspace-0.5.4 lib/terraspace/booter.rb
terraspace-0.5.3 lib/terraspace/booter.rb
terraspace-0.5.2 lib/terraspace/booter.rb
terraspace-0.5.1 lib/terraspace/booter.rb
terraspace-0.5.0 lib/terraspace/booter.rb
terraspace-0.4.4 lib/terraspace/booter.rb
terraspace-0.4.3 lib/terraspace/booter.rb
terraspace-0.4.2 lib/terraspace/booter.rb
terraspace-0.4.1 lib/terraspace/booter.rb
terraspace-0.4.0 lib/terraspace/booter.rb
terraspace-0.3.6 lib/terraspace/booter.rb
terraspace-0.3.5 lib/terraspace/booter.rb