Module: XDR::Bool

Extended by:
Concerns::ConvertsToXDR
Defined in:
lib/xdr/bool.rb

Class Method Summary collapse

Methods included from Concerns::ConvertsToXDR

from_xdr, read, to_xdr, valid?, write

Class Method Details

.read(io) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/xdr/bool.rb', line 12

def self.read(io)
  val = XDR::Int.read(io)
  case val
  when 0 then false
  when 1 then true
  else; raise XDR::ReadError, "Invalid bool value: #{val}"
  end
end

.valid?(val) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/xdr/bool.rb', line 21

def self.valid?(val)
  val == true || val == false
end

.write(val, io) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/xdr/bool.rb', line 4

def self.write(val, io)
  case val
  when true then XDR::Int.write(1, io)
  when false then XDR::Int.write(0, io)
  else; raise XDR::WriteError, "Invalid bool value: #{val}"
  end
end