Class: Lono::Configset::Strategy::Erb

Inherits:
Base
  • Object
show all
Includes:
Helpers::Erb
Defined in:
lib/lono/configset/strategy/erb.rb

Constant Summary

Constants included from Template::Strategy::Dsl::Builder::Fn

Template::Strategy::Dsl::Builder::Fn::FUNCTIONS

Instance Method Summary collapse

Methods included from Helpers::Erb

#indent

Methods inherited from Base

#build, #copy_instance_variables, #finish_full_structure, #initialize, #load_blueprint_predefined_variables, #load_configset_helpers, #load_project_predefined_variables

Methods included from Template::Strategy::Dsl::Builder::Fn

#conditional_ref, define_methods, #fn, #fn_id, #get_att, #get_azs, included, #join, #ref, #sub

Methods included from Template::Strategy::Common::Helpers

#extract_scripts, #scripts_name, #scripts_s3_path, #setting

Methods included from EvaluateFile

#evaluate_file

Constructor Details

This class inherits a constructor from Lono::Configset::Strategy::Base

Instance Method Details

#authenticationObject



22
23
24
# File 'lib/lono/configset/strategy/erb.rb', line 22

def authentication
  # noop
end

#find_evaluation_pathObject



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

def find_evaluation_path
  paths = %w[configset.yml configset.json].map { |p| "#{@root}/lib/#{p}" }
  paths.find { |p| File.exist?(p) }
end

#loadObject



12
13
14
15
16
17
18
19
20
# File 'lib/lono/configset/strategy/erb.rb', line 12

def load
  content = RenderMePretty.result(@evaluation_path, context: self)
  # init structure
  if File.extname(@evaluation_path) == ".yml"
    load_yaml(content)
  else
    JSON.load(content)
  end
end

#load_yaml(content) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/lono/configset/strategy/erb.rb', line 26

def load_yaml(content)
  # Write to file so can use Yamler::Validator
  path = "/tmp/lono/configset.yml"
  FileUtils.mkdir_p(File.dirname(path))
  IO.write(path, content)
  Lono::Yamler::Validator.new(path).validate!
  Lono::Yamler::Loader.new(content).load
end