Class: Orchparty::MixinBuilder

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

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ MixinBuilder

Returns a new instance of MixinBuilder.



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

def initialize(name)
  @mixin = AST::Mixin.new(name: name, services: {}, mixins: {})
end

Instance Method Details

#buildObject



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

def build
  @mixin
end

#mixin(name, &block) ⇒ Object



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

def mixin(name, &block)
  builder  = ServiceBuilder.new(name)
  builder.instance_eval(&block)
  @mixin.mixins[name] = builder._build
  self
end

#service(name, &block) ⇒ Object



54
55
56
57
58
59
60
# File 'lib/orchparty/dsl_parser.rb', line 54

def service(name, &block)
  builder  = ServiceBuilder.new(name)
  builder.instance_eval(&block)
  @mixin.services[name] = builder._build
  @mixin.mixins[name] = builder._build
  self
end