Class: Lono::Configset::Strategy::Dsl

Inherits:
Base
  • Object
show all
Includes:
Helpers, Syntax
Defined in:
lib/lono/configset/strategy/dsl/syntax.rb,
lib/lono/configset/strategy/dsl.rb,
lib/lono/configset/strategy/dsl/helpers.rb

Overview

Core syntax

Defined Under Namespace

Modules: Helpers, Syntax

Instance Method Summary collapse

Methods included from Syntax

#configset

Methods included from Helpers::Core

#content_file

Methods inherited from Base

#build, #copy_instance_variables, #load_blueprint_predefined_variables, #load_configset_helpers, #load_project_predefined_variables

Methods included from EvaluateFile

#evaluate_file

Constructor Details

#initialize(options = {}) ⇒ Dsl

Returns a new instance of Dsl.



6
7
8
9
10
11
# File 'lib/lono/configset/strategy/dsl.rb', line 6

def initialize(options={})
  super
  @structure = {} # holds in memory the configset hash structure
  @current = "main" # current configset
  @tracked = []
end

Instance Method Details

#find_evaluation_pathObject



13
14
15
# File 'lib/lono/configset/strategy/dsl.rb', line 13

def find_evaluation_path
  "#{@root}/lib/configset.rb"
end

#loadObject



17
18
19
20
21
22
23
24
# File 'lib/lono/configset/strategy/dsl.rb', line 17

def load
  evaluate_file(@evaluation_path)
  configsets = @configsets || @tracked.uniq
  configsets = ["main"] if configsets.empty?
  init = {"configSets" => {"default" => configsets}}.merge(@structure)
  full_structure = { "AWS::CloudFormation::Init" => init }
  full_structure.deep_stringify_keys!
end