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.



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

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

Instance Method Details

#all(&block) ⇒ Object



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

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

#buildObject



112
113
114
# File 'lib/orchparty/dsl_parser.rb', line 112

def build
  @application
end

#mix(name) ⇒ Object



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

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

#mixin(name, &block) ⇒ Object



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

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

#service(name, &block) ⇒ Object



105
106
107
108
109
110
# File 'lib/orchparty/dsl_parser.rb', line 105

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

#variables(&block) ⇒ Object



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

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