Sha256: a2d562949c3b28948c798343b20112447723012eaabc892b7052fd1ecf5cdc45

Contents?: true

Size: 739 Bytes

Versions: 2

Compression:

Stored size: 739 Bytes

Contents

module Rserve
  class REXP
    class String < REXP::Vector
      attr_reader :payload
      NA=["NA", "\xFF"]
      def initialize(data, attrs=nil)
        @payload=case data
        when Array
          data.map {|v| v.to_s}
        else
          [data.to_s]
        end
        super(attrs)
      end
      def length
        payload.length
      end
      def string?
        true
      end
      def as_strings
        @payload
      end
      
      def na?(value=nil)
        if value.nil?
          @payload.map {|v| NA.include? v}
        else
          NA.include? value
        end
      end
      def to_debug_string
        t=super
        t << "{"  << @payload.map(&:to_s).join(",") << "}"
      end
      
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rserve-client-0.3.1 lib/rserve/rexp/string.rb
rserve-client-0.3.0 lib/rserve/rexp/string.rb