Class: TJSON::DataType::Binary16
Overview
Base16-serialized binary data
Constant Summary
TAGS
Instance Method Summary
collapse
Methods inherited from Scalar
#inspect, #scalar?
[], generate, identify_type, parse
Instance Method Details
#convert(str) ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/tjson/datatype/binary.rb', line 14
def convert(str)
raise TJSON::TypeError, "expected String, got #{str.class}: #{str.inspect}" unless str.is_a?(::String)
raise TJSON::ParseError, "base16 must be lower case: #{str.inspect}" if str =~ /[A-F]/
raise TJSON::ParseError, "invalid base16: #{str.inspect}" unless str =~ /\A[a-f0-9]*\z/
[str].pack("H*")
end
|
#generate(binary) ⇒ Object
22
23
24
|
# File 'lib/tjson/datatype/binary.rb', line 22
def generate(binary)
binary.unpack("H*").first
end
|
10
11
12
|
# File 'lib/tjson/datatype/binary.rb', line 10
def tag
"b16"
end
|