class IcAgent::Candid::BoolClass

Represents an IDL Bool

Public Class Methods

new() click to toggle source
Calls superclass method IcAgent::Candid::PrimitiveType::new
# File lib/ic_agent/candid.rb, line 243
def initialize
  super
end

Public Instance Methods

covariant(x) click to toggle source
# File lib/ic_agent/candid.rb, line 247
def covariant(x)
  x.is_a?(TrueClass) || x.is_a?(FalseClass)
end
decode_value(b, t) click to toggle source
# File lib/ic_agent/candid.rb, line 259
def decode_value(b, t)
  check_type(t)
  byte = IcAgent::Candid.safe_read_byte(b)
  str_io = StringIO.new
  str_io.putc(byte.hex)
  if LEB128.decode_signed(str_io) == 1
    true
  elsif LEB128.decode_signed(str_io) == 0
    false
  else
    raise ValueError, 'Boolean value out of range'
  end
end
encode_type(type_table = nil) click to toggle source
# File lib/ic_agent/candid.rb, line 255
def encode_type(type_table = nil)
  LEB128.encode_signed(TypeIds::Bool).string
end
encode_value(val) click to toggle source
# File lib/ic_agent/candid.rb, line 251
def encode_value(val)
  LEB128.encode_signed(val ? 1 : 0).string
end
id() click to toggle source
# File lib/ic_agent/candid.rb, line 277
def id
  TypeIds::Bool
end
name() click to toggle source
# File lib/ic_agent/candid.rb, line 273
def name
  'bool'
end