Class: BuildTool::Cfg::BuildSystemDeclarationNodeVisitor
- Inherits:
-
ListVisitor
- Object
- VisitorBase
- ListVisitor
- BuildTool::Cfg::BuildSystemDeclarationNodeVisitor
- Defined in:
- lib/build-tool/cfg/visitor.rb
Overview
Build System Declaration Visitor.
Instance Attribute Summary
Attributes inherited from VisitorBase
Instance Method Summary collapse
-
#initialize(configuration, build_system) ⇒ BuildSystemDeclarationNodeVisitor
constructor
Initialize a build system.
- #visit_BuildSystemDeclarationNode(node) ⇒ Object
- #visit_BuildSystemInplaceNode(node) ⇒ Object
- #visit_BuildSystemOptionNode(node) ⇒ Object
Methods inherited from ListVisitor
Methods inherited from VisitorBase
Constructor Details
#initialize(configuration, build_system) ⇒ BuildSystemDeclarationNodeVisitor
Initialize a build system. If no build system is provided we will create a new one. Which is not registered with the configuration.
59 60 61 62 |
# File 'lib/build-tool/cfg/visitor.rb', line 59 def initialize( configuration, build_system ) super( configuration ) @build_system = build_system end |
Instance Method Details
#visit_BuildSystemDeclarationNode(node) ⇒ Object
64 65 66 67 |
# File 'lib/build-tool/cfg/visitor.rb', line 64 def visit_BuildSystemDeclarationNode( node ) visit_nodes( node.values[1] ) return @build_system end |
#visit_BuildSystemInplaceNode(node) ⇒ Object
69 70 71 |
# File 'lib/build-tool/cfg/visitor.rb', line 69 def visit_BuildSystemInplaceNode( node ) @build_system.out_of_source = false end |
#visit_BuildSystemOptionNode(node) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/build-tool/cfg/visitor.rb', line 73 def visit_BuildSystemOptionNode( node ) case node.values.length when 3 case node.values[1] when 'append'; @build_system.append( node.values[0], node.values[2] ) when 'prepend'; @build_system.prepend( node.values[0], node.values[2] ) when 'set'; @build_system.set( node.values[0], node.values[2] ) else raise StandardError, "Unexpected token #{node.values[1]}!" end when 2 @build_system.set( node.values[0], node.values[1] ) else raise StandardError, "Unexpected number of tokens #{node.values.length} #{node.values.join(', ')}" end end |