Sha256: 621f3a5646565e5ba6d75367e668c7a0637d62f9e661564be53882bb6e6b4268

Contents?: true

Size: 608 Bytes

Versions: 84

Compression:

Stored size: 608 Bytes

Contents

# Should implement methods:
#    defaults
#    provider
module Terraspace::Plugin::Config
  module Interface
    include DslEvaluator

    attr_reader :config
    def initialize
      @config = defaults # plugin should implement defaults
    end

    # meant to be overridden by plugin
    def defaults
      ActiveSupport::OrderedOptions.new
    end

    def load_project_config
      evaluate_file("#{Terraspace.root}/config/plugins/#{provider}.rb")
      evaluate_file("#{Terraspace.root}/config/plugins/#{provider}/#{Terraspace.env}.rb")
    end

    def configure
      yield(@config)
    end
  end
end

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
terraspace-2.2.17 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.16 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.15 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.14 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.13 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.12 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.11 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.10 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.9 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.8 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.7 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.6 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.5 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.4 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.3 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.2 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.1 lib/terraspace/plugin/config/interface.rb
terraspace-2.2.0 lib/terraspace/plugin/config/interface.rb
terraspace-2.1.7 lib/terraspace/plugin/config/interface.rb
terraspace-2.1.6 lib/terraspace/plugin/config/interface.rb