Class: Orchparty::MixinBuilder

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

Instance Method Summary collapse

Methods inherited from Builder

#assign_or_merge, build

Constructor Details

#initialize(name) ⇒ MixinBuilder

Returns a new instance of MixinBuilder.



65
66
67
# File 'lib/orchparty/dsl_parser.rb', line 65

def initialize(name)
  @mixin = AST.mixin(name: name)
end

Instance Method Details

#_buildObject



93
94
95
# File 'lib/orchparty/dsl_parser.rb', line 93

def _build
  @mixin
end

#mixin(name, &block) ⇒ Object



81
82
83
# File 'lib/orchparty/dsl_parser.rb', line 81

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

#networks(&block) ⇒ Object



89
90
91
# File 'lib/orchparty/dsl_parser.rb', line 89

def networks(&block)
  @mixin.networks = HashBuilder.build(block)
end

#service(name, &block) ⇒ Object



69
70
71
72
73
74
# File 'lib/orchparty/dsl_parser.rb', line 69

def service(name, &block)
  result = ServiceBuilder.build(name, block)
  @mixin.services[name] = result
  @mixin._mixins[name] = result
  self
end

#variables(&block) ⇒ Object



76
77
78
79
# File 'lib/orchparty/dsl_parser.rb', line 76

def variables(&block)
  @mixin._variables = VariableBuilder.build(block)
  self
end

#volumes(&block) ⇒ Object



85
86
87
# File 'lib/orchparty/dsl_parser.rb', line 85

def volumes(&block)
  @mixin.volumes = HashBuilder.build(block)
end