Class: BuildTool::Cfg::StatementVisitor

Inherits:
ListVisitor show all
Defined in:
lib/build-tool/cfg/visitor.rb

Overview

Statement Visitor

Direct Known Subclasses

ConfigurationFileVisitor

Instance Attribute Summary

Attributes inherited from VisitorBase

#configuration

Instance Method Summary collapse

Methods inherited from ListVisitor

#visit, #visit_nodes

Methods inherited from VisitorBase

#initialize

Constructor Details

This class inherits a constructor from BuildTool::Cfg::VisitorBase

Instance Method Details

#visit_BuildSystemDeclarationNode(node) ⇒ Object

Raises:



90
91
92
93
94
95
96
97
98
# File 'lib/build-tool/cfg/visitor.rb', line 90

def visit_BuildSystemDeclarationNode( node )
    raise ArgumentsError if node.values.length != 2
    name  = node.values[0]
    bs = configuration.build_system_defaults( name )
    visitor = BuildSystemDeclarationNodeVisitor.new(
        configuration,
        bs )
    node.accept( visitor )
end

#visit_ConfigurationFileList(node) ⇒ Object



100
101
102
# File 'lib/build-tool/cfg/visitor.rb', line 100

def visit_ConfigurationFileList( node )
    self.visit(node)
end

#visit_DisableFeatureNode(node) ⇒ Object



118
119
120
121
122
123
124
125
# File 'lib/build-tool/cfg/visitor.rb', line 118

def visit_DisableFeatureNode( node )
    featureName = node.value
    feat = configuration.feature( featureName )
    if feat.nil?
        raise ConfigurationError, "Attempt to disable unknown feature '%s'!" % featureName
    end
    feat.active = false
end

#visit_DisableModuleNode(node) ⇒ Object



136
137
138
139
140
141
142
143
# File 'lib/build-tool/cfg/visitor.rb', line 136

def visit_DisableModuleNode( node )
    modName = node.value
    mod = configuration.module( modName )
    if mod.nil?
        raise ConfigurationError, "Attempt to disable unknown module '%s'!" % modName
    end
    mod.active = false
end

#visit_EnableFeatureNode(node) ⇒ Object



109
110
111
112
113
114
115
116
# File 'lib/build-tool/cfg/visitor.rb', line 109

def visit_EnableFeatureNode( node )
    featureName = node.value
    feat = configuration.feature( featureName )
    if feat.nil?
        raise ConfigurationError, "Attempt to enable unknown feature '%s'!" % featureName
    end
    feat.active = true
end

#visit_EnableModuleNode(node) ⇒ Object



127
128
129
130
131
132
133
134
# File 'lib/build-tool/cfg/visitor.rb', line 127

def visit_EnableModuleNode( node )
    modName = node.value
    mod = configuration.module( modName )
    if mod.nil?
        raise ConfigurationError, "Attempt to enable unknown module '%s'!" % modName
    end
    mod.active = true
end

#visit_EnvironmentDeclarationNode(node) ⇒ Object



104
105
106
107
# File 'lib/build-tool/cfg/visitor.rb', line 104

def visit_EnvironmentDeclarationNode( node )
    visitor = EnvironmentDeclarationNodeVisitor.new( configuration )
    node.accept( visitor )
end

#visit_FeatureNode(node) ⇒ Object



145
146
147
148
# File 'lib/build-tool/cfg/visitor.rb', line 145

def visit_FeatureNode( node )
    visitor = FeatureNodeVisitor.new( configuration )
    node.accept( visitor )
end

#visit_IncludeNode(node) ⇒ Object



150
151
152
153
# File 'lib/build-tool/cfg/visitor.rb', line 150

def visit_IncludeNode( node )
    visitor = IncludeNodeVisitor.new( configuration )
    node.accept( visitor )
end

#visit_ModuleDeclarationNode(node) ⇒ Object



155
156
157
158
# File 'lib/build-tool/cfg/visitor.rb', line 155

def visit_ModuleDeclarationNode( node )
    visitor = ModuleDeclarationNodeVisitor.new( configuration )
    node.accept( visitor )
end

#visit_RepositoryDeclarationNode(node) ⇒ Object



160
161
162
163
# File 'lib/build-tool/cfg/visitor.rb', line 160

def visit_RepositoryDeclarationNode( node )
    visitor = RepositoryDeclarationNodeVisitor.new( configuration )
    node.accept(visitor)
end

#visit_ServerDeclarationNode(node) ⇒ Object



165
166
167
168
# File 'lib/build-tool/cfg/visitor.rb', line 165

def visit_ServerDeclarationNode( node )
    visitor = ServerDeclarationNodeVisitor.new( configuration )
    node.accept(visitor)
end

#visit_SshKeyDeclarationNode(node) ⇒ Object



170
171
172
173
# File 'lib/build-tool/cfg/visitor.rb', line 170

def visit_SshKeyDeclarationNode( node )
    visitor = SshKeyDeclarationNodeVisitor.new( configuration )
    node.accept(visitor)
end