Class: Orchparty::Kubernetes::RootBuilder

Inherits:
Builder
  • Object
show all
Defined in:
lib/orchparty/dsl_parser_kubernetes.rb

Instance Method Summary collapse

Methods inherited from Builder

#assign_or_merge, build

Constructor Details

#initializeRootBuilder

Returns a new instance of RootBuilder.



38
39
40
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 38

def initialize
  @root = AST.root
end

Instance Method Details

#_buildObject



60
61
62
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 60

def _build
  @root
end

#application(name, &block) ⇒ Object



50
51
52
53
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 50

def application(name, &block)
  @root.applications[name] = ApplicationBuilder.build(name, block)
  self
end

#import(rel_file) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 42

def import(rel_file)
  old_file_path = Pathname.new(caller[0][/[^:]+/]).parent
  rel_file_path = Pathname.new rel_file
  new_file_path = old_file_path + rel_file_path
  file_content = File.read(new_file_path)
  instance_eval(file_content, new_file_path.expand_path.to_s)
end

#mixin(name, &block) ⇒ Object



55
56
57
58
# File 'lib/orchparty/dsl_parser_kubernetes.rb', line 55

def mixin(name, &block)
  @root._mixins[name] = MixinBuilder.build(name, block)
  self
end