Sha256: 432b670942652f9beaa2f4b37a66050ed54de902b854e00dc08522107d85c731

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

class Lono::Builder::Configset::Definition
  module Context
    include DslEvaluator

    def load_context
      load_vars
      load_helpers
    end

    # Docs: https://lono.cloud/docs/configsets/layering/
    # Layering is simple enough to keep in this method.
    def load_vars
      logger.debug "Layers for configset #{@configset.name}:"
      evaluate_layer("#{@configset.root}/vars.rb") # source defaults
      evaluate_layer("#{Lono.root}/config/configsets/#{@configset.name}/vars.rb") # source overrides
      evaluate_layer("#{@blueprint.root}/config/configsets/vars/#{@configset.name}.rb") # blueprint overrides
      evaluate_layer("#{Lono.root}/config/blueprints/#{@blueprint.name}/configsets/vars/#{@configset.name}.rb") # user overrides
    end

    def evaluate_layer(path)
      logger.debug "    #{pretty_path(path)}" if File.exist?(path) || ENV['LONO_SHOW_ALL_LAYERS']
      evaluate_file(path)
    end

    def load_helpers
      load_helper_files("#{@configset.root}/helpers", type: :configset)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lono-8.0.0.pre.rc3 lib/lono/builder/configset/definition/context.rb