Module: Buildozer::Dsl::Compiler

Defined in:
lib/buildozer/dsl/compiler.rb,
lib/buildozer/dsl/compiler/validator.rb,
lib/buildozer/dsl/compiler/exceptions.rb

Defined Under Namespace

Modules: Validator Classes: InvalidDslDefinition, InvalidDslFragment, InvalidDslPackage

Class Method Summary collapse

Class Method Details

.compile(fragment) ⇒ Object



9
10
11
12
13
# File 'lib/buildozer/dsl/compiler.rb', line 9

def self.compile(fragment)
  Validator.validate_fragment(fragment);

  send("compile_#{fragment.type()}", fragment)
end

.compile_definition(definition) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/buildozer/dsl/compiler.rb', line 15

def self.compile_definition(definition)
  Validator.validate_definition(definition);

  options = definition.options()
  return Model::Definition.new({
    :packages => options[:packages].map { |package| compile(package) }
  })
end

.compile_package(package) ⇒ Object



24
25
26
27
28
# File 'lib/buildozer/dsl/compiler.rb', line 24

def self.compile_package(package)
  Validator.validate_package(package);

  return Model::Package.new(package.options())
end