Class: Orchparty::ApplicationBuilder

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

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ ApplicationBuilder

Returns a new instance of ApplicationBuilder.



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

def initialize(name)
  @application = AST::Application.new(name: name, services: {}, mix: [], mixins: {})
end

Instance Method Details

#all(&block) ⇒ Object



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

def all(&block)
  builder  = AllBuilder.new
  builder.instance_eval(&block)
  @application.all = builder._build
  self
end

#buildObject



104
105
106
# File 'lib/orchparty/dsl_parser.rb', line 104

def build
  @application
end

#mix(name) ⇒ Object



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

def mix(name)
  @application.mix << name
end

#mixin(name, &block) ⇒ Object



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

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

#service(name, &block) ⇒ Object



97
98
99
100
101
102
# File 'lib/orchparty/dsl_parser.rb', line 97

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

#variables(&block) ⇒ Object



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

def variables(&block)
  builder  = HashBuilder.new
  builder.instance_eval(&block)
  @application._variables = builder._build
  self
end