class Scale::Types::OptionBool
Public Class Methods
decode(scale_bytes)
click to toggle source
# File lib/scale/types.rb, line 29 def self.decode(scale_bytes) byte = scale_bytes.get_next_bytes(1)[0] value = if byte == 0x00 nil elsif byte == 0x01 true elsif byte == 0x02 false else raise BadDataError.new("Bad scale data for OptionBool #{byte.to_s(16)}") end new(value) end
Public Instance Methods
encode()
click to toggle source
# File lib/scale/types.rb, line 43 def encode if value.nil? "00" elsif value === true "01" elsif value === false "02" else raise WrongValueError.new("OptionBool can not have value other than `nil`, `true`, `false`") end end