Sha256: 110facf0a0247561bd7d6bdfb5d6748eb731938108f4add855095272d239a7e5

Contents?: true

Size: 1.49 KB

Versions: 3

Compression:

Stored size: 1.49 KB

Contents

require 'mj/visitor'

module BuildTool; module Cfg;

    #
    # 
    #
    class Node < MJ::Visitable

        attr_accessor :values

        def value
            values
            #raise StandardError, "1 Value expected.#{values.length} values found!."
        end

        def initialize(values = nil)
            @values = values
        end

    end # class Node

    %w[
        BuildSystemDeclaration
        BuildSystemOption
        BuildSystemInplace

        EnvironmentDeclaration
        EnvironmentVariable

        GitSvnDeclaration

        GitDeclaration
        GitRemote
        GitRemotePath
        GitServer
        GitTrackBranch

        GitSvnExternal

        LogDirectory

        ModuleBuildPrefix
        ModuleDeclaration
        ModuleInstallPrefix
        ModuleLocalPath
        ModuleRemotePath
        ModuleTemplate

        RepositoryDeclaration
        RepositoryPath
        RepositoryServer
        RepositoryUser

        ServerDeclaration
        ServerHost
        ServerPath
        ServerProtocol

        SshKeyDeclaration
        SshKeyFile

        UseBuildSystem
        UseEnvironment
        UseRepository
        UseServer
        UseSshKey
        UseVcs

    ].each do |type|

        eval "class #{type}Node < Node; end"

    end


    class NodeList < Node
    end

    %w[
        GitRemoteValue

        ConfigurationFile

        ServerStatement
    ].each do |type|

        eval "class #{type}List < NodeList; end"

    end


end; end; # module BuildTool::Cfg

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
build-tool-0.1.2 lib/build-tool/cfg/node.rb
build-tool-0.1.0 lib/build-tool/cfg/node.rb
build-tool-0.1.1 lib/build-tool/cfg/node.rb