Class: BuildTool::Cfg::RepositoryDeclarationNodeVisitor

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

Instance Attribute Summary

Attributes inherited from VisitorBase

#configuration

Instance Method Summary collapse

Methods inherited from ListVisitor

#visit, #visit_nodes

Methods inherited from VisitorBase

#initialize, #visit_Object

Constructor Details

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

Instance Method Details

#visit_RepositoryDeclarationNode(node) ⇒ Object



611
612
613
614
615
616
617
618
619
620
621
# File 'lib/build-tool/cfg/visitor.rb', line 611

def visit_RepositoryDeclarationNode( node )
    name = node.values[0]
    @repository = configuration.repository(name)
    if @repository.nil?
        @repository = BuildTool::Repository.new( name )
        configuration.add_repository( @repository )
    end
    stmts = node.values[1]
    visit_nodes( stmts )
    return @repository
end

#visit_RepositoryPathNode(node) ⇒ Object



623
624
625
# File 'lib/build-tool/cfg/visitor.rb', line 623

def visit_RepositoryPathNode( node )
    @repository.path = node.value
end

#visit_RepositoryUserNode(node) ⇒ Object



627
628
629
# File 'lib/build-tool/cfg/visitor.rb', line 627

def visit_RepositoryUserNode( node )
    @repository.user = node.value
end

#visit_ServerDeclarationNode(node) ⇒ Object



631
632
633
634
# File 'lib/build-tool/cfg/visitor.rb', line 631

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

#visit_SshKeyDeclarationNode(node) ⇒ Object



636
637
638
# File 'lib/build-tool/cfg/visitor.rb', line 636

def visit_SshKeyDeclarationNode( node )
    @repository.sshkey = node.value
end

#visit_UseServerNode(node) ⇒ Object



640
641
642
643
644
645
# File 'lib/build-tool/cfg/visitor.rb', line 640

def visit_UseServerNode( node )
    @repository.server = configuration.server( node.value )
    if @repository.server.nil?
        raise ConfigurationError, "Unknown server #{node.value} configured for repository #{@repository.name}!"
    end
end

#visit_UseSshKeyNode(node) ⇒ Object

Raises:



647
648
649
650
651
# File 'lib/build-tool/cfg/visitor.rb', line 647

def visit_UseSshKeyNode( node )
    name = node.value
    @repository.sshkey = configuration.sshkey(name)
    raise ConfigurationError, "Unknown ssh-key #{name} configured for repository #{@repository.name}!" if @repository.sshkey.nil?
end