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

Constructor Details

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

Instance Method Details

#visit_RemoteDeclarationNode(node) ⇒ Object



552
553
554
555
556
557
558
# File 'lib/build-tool/cfg/visitor.rb', line 552

def visit_RemoteDeclarationNode( node )
    name = node.values[0]
    @repository = BuildTool::Repository.new( name )
    stmts = node.values[1]
    visit_nodes( stmts )
    return @repository
end

#visit_RepositoryDeclarationNode(node) ⇒ Object



540
541
542
543
544
545
546
547
548
549
550
# File 'lib/build-tool/cfg/visitor.rb', line 540

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



560
561
562
# File 'lib/build-tool/cfg/visitor.rb', line 560

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

#visit_RepositoryUserNode(node) ⇒ Object



564
565
566
# File 'lib/build-tool/cfg/visitor.rb', line 564

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

#visit_ServerDeclarationNode(node) ⇒ Object



568
569
570
571
# File 'lib/build-tool/cfg/visitor.rb', line 568

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

#visit_SshKeyDeclarationNode(node) ⇒ Object



573
574
575
# File 'lib/build-tool/cfg/visitor.rb', line 573

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

#visit_UseServerNode(node) ⇒ Object



577
578
579
580
581
582
# File 'lib/build-tool/cfg/visitor.rb', line 577

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:



584
585
586
587
588
# File 'lib/build-tool/cfg/visitor.rb', line 584

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