Class: Orchparty::ApplicationBuilder
- Inherits:
-
Object
- Object
- Orchparty::ApplicationBuilder
- Defined in:
- lib/orchparty/dsl_parser.rb
Instance Method Summary collapse
- #all(&block) ⇒ Object
- #build ⇒ Object
-
#initialize(name) ⇒ ApplicationBuilder
constructor
A new instance of ApplicationBuilder.
- #mix(name) ⇒ Object
- #mixin(name, &block) ⇒ Object
- #service(name, &block) ⇒ Object
- #variables(&block) ⇒ Object
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 |
#build ⇒ Object
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 |