Sha256: 019863f43f2e57b6266bce516a96269d177c20637df43842b9d6731186b173fd

Contents?: true

Size: 1.7 KB

Versions: 2

Compression:

Stored size: 1.7 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[
        ApplyPatches
        ArchiveDeclaration

        BuildSystemDeclaration
        BuildSystemOption
        BuildSystemInplace

        EnvironmentDeclaration
        EnvironmentVariable

        EnableFeature
        DisableFeature
        EnableModule
        DisableModule

        Feature
        ShortDescription
        LongDescription

        GitSvnDeclaration

        GitDeclaration
        GitRemote
        GitRemotePath
        GitServer

        GitSvnExternal

        Include

        LogDirectory

        ModuleBuildPrefix
        ModuleDeclaration
        ModuleInstallPrefix
        ModuleLocalPath
        ModuleRemotePath
        ModuleTemplate

        RepositoryDeclaration
        RepositoryPath
        RepositoryUser

        ServerDeclaration
        ServerHost
        ServerPath
        ServerProtocol

        SshKeyDeclaration
        SshKeyFile

        SvnDeclaration
        SvnCheckoutOnly

        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

2 entries across 2 versions & 1 rubygems

Version Path
build-tool-0.3.1 lib/build-tool/cfg/node.rb
build-tool-0.3 lib/build-tool/cfg/node.rb