class XDR::Option

Attributes

child_type[R]

Public Class Methods

new(child_type) click to toggle source
# File lib/xdr/option.rb, line 8
def initialize(child_type)
  #TODO, raise an error if child_type is not ConvertToXDR
  @child_type = child_type
end

Public Instance Methods

read(io) click to toggle source
# File lib/xdr/option.rb, line 22
def read(io)
  present = XDR::Bool.read(io)
  @child_type.read(io) if present
end
valid?(val) click to toggle source
# File lib/xdr/option.rb, line 27
def valid?(val)
  val.nil? || @child_type.valid?(val)
end
write(val, io) click to toggle source
# File lib/xdr/option.rb, line 13
def write(val, io)
  if val.present?
    XDR::Bool.write(true, io)
    @child_type.write(val, io)
  else
    XDR::Bool.write(false, io)
  end
end