Sha256: 1c71f6b5c0aa9cbaa8006b335b688b802f26865795e7f8e74617cf9a0647b910

Contents?: true

Size: 986 Bytes

Versions: 2

Compression:

Stored size: 986 Bytes

Contents

#!ruby

require 'noms/command/error'

class NOMS

end

class NOMS::Command

end

class NOMS::Command::Document

    attr_accessor :exitcode, :argv

    def initialize(doc)
        raise NOMS::Command::Error.new "Document type '#{docobj['$doctype']}' not understood" unless
            doc['$doctype'] == 'noms-v2'
        @doc = doc
    end

    # Make these synonymous with the keys
    def body
        @doc['$body']
    end

    def body=(rval)
        @doc['$body'] = rval
    end

    def script
        @doc['$script']
    end

    def script=(rval)
        @doc['$script'] = rval
    end

    def argv
        @doc['$argv']
    end

    def argv=(rval)
        @doc['$argv'] = rval
    end

    def exitcode
        @doc['$exitcode']
    end

    def exitcode=(rval)
        unless rval.respond_to?(:to_int) and rval <= 255 and rval >= 0
            raise NOMS::Command::Error.new "Exitcode ${rval.inspect} out of range"
        end
        @doc['$exitcode'] = rval
    end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
noms-command-2.1.1 lib/noms/command/document.rb
noms-command-0.5.0 lib/noms/command/document.rb