Class: Lono::Configset::Preparer

Inherits:
AbstractBase show all
Defined in:
lib/lono/configset/preparer.rb

Instance Method Summary collapse

Methods inherited from AbstractBase

#reinitialize, #template_path

Methods included from Blueprint::Root

#find_blueprint_root, #set_blueprint_root

Constructor Details

#initialize(options = {}) ⇒ Preparer

Returns a new instance of Preparer.



3
4
5
6
7
8
9
# File 'lib/lono/configset/preparer.rb', line 3

def initialize(options={})
  super
  @blueprint = Register::Blueprint.new(options)
  @project   = Register::Project.new(options)
  @meta      = Meta.new(options)
  @resolver  = Resolver.new
end

Instance Method Details

#materializeObject



34
35
36
37
# File 'lib/lono/configset/preparer.rb', line 34

def materialize
  jades = Lono::Jade::Registry.downloaded_configsets
  Lono::Jade::Materializer::Final.new.build(jades)
end

#registerObject

Stores configsets registry items



20
21
22
23
# File 'lib/lono/configset/preparer.rb', line 20

def register
  @project.register   # IE: evaluates configs/BLUEPRINT/configsets/base.rb
  @blueprint.register # IE: evaluates BLUEPRINT/config/configsets.rb
end

#register_dependenciesObject



30
31
32
# File 'lib/lono/configset/preparer.rb', line 30

def register_dependencies
  @resolver.register
end

#resolve_dependenciesObject



25
26
27
28
# File 'lib/lono/configset/preparer.rb', line 25

def resolve_dependencies
  jades = Lono::Jade::Registry.tracked_configsets  # at this point only top-level
  @resolver.resolve(jades) # also calls jade.materialize
end

#runObject



11
12
13
14
15
16
17
# File 'lib/lono/configset/preparer.rb', line 11

def run
  register
  resolve_dependencies # also calls jade.materialize
  register_dependencies
  materialize
  validate_all! # run after final materializer
end

#validate_all!Object



39
40
41
42
# File 'lib/lono/configset/preparer.rb', line 39

def validate_all!
  @blueprint.validate!
  @project.validate!
end