Class: Scale::Types::OptionBool
- Inherits:
-
Object
- Object
- Scale::Types::OptionBool
show all
- Includes:
- Base
- Defined in:
- lib/scale/types.rb
Instance Attribute Summary
Attributes included from Base
#value
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Base
#==, included, #initialize, #to_human
Class Method Details
.decode(scale_bytes) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# 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
|
Instance Method Details
#encode ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
|
# 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
|