Class: Orchparty::RootBuilder
- Defined in:
- lib/orchparty/dsl_parser.rb
Instance Method Summary collapse
- #_build ⇒ Object
- #application(name, &block) ⇒ Object
- #import(rel_file) ⇒ Object
-
#initialize ⇒ RootBuilder
constructor
A new instance of RootBuilder.
- #mixin(name, &block) ⇒ Object
Methods inherited from Builder
Constructor Details
#initialize ⇒ RootBuilder
Returns a new instance of RootBuilder.
36 37 38 |
# File 'lib/orchparty/dsl_parser.rb', line 36 def initialize @root = AST.root end |
Instance Method Details
#_build ⇒ Object
58 59 60 |
# File 'lib/orchparty/dsl_parser.rb', line 58 def _build @root end |
#application(name, &block) ⇒ Object
48 49 50 51 |
# File 'lib/orchparty/dsl_parser.rb', line 48 def application(name, &block) @root.applications[name] = ApplicationBuilder.build(name, block) self end |
#import(rel_file) ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/orchparty/dsl_parser.rb', line 40 def import(rel_file) old_file_path = Pathname.new(caller[0][/[^:]+/]).parent rel_file_path = Pathname.new rel_file new_file_path = old_file_path + rel_file_path file_content = File.read(new_file_path) instance_eval(file_content, new_file_path..to_s) end |
#mixin(name, &block) ⇒ Object
53 54 55 56 |
# File 'lib/orchparty/dsl_parser.rb', line 53 def mixin(name, &block) @root._mixins[name] = MixinBuilder.build(name, block) self end |