Class: TJSON::DataType::UnsignedInt

Inherits:
Integer show all
Defined in:
lib/tjson/datatype/integer.rb

Overview

Unsigned 64-bit integer

Constant Summary

Constants inherited from TJSON::DataType

TAGS

Instance Method Summary collapse

Methods inherited from Integer

#generate

Methods inherited from Scalar

#inspect, #scalar?

Methods inherited from TJSON::DataType

[], generate, identify_type, parse

Instance Method Details

#convert(str) ⇒ Object

Raises:



37
38
39
40
41
42
43
44
45
# File 'lib/tjson/datatype/integer.rb', line 37

def convert(str)
  raise TJSON::TypeError, "expected String, got #{str.class}: #{str.inspect}" unless str.is_a?(::String)
  raise TJSON::ParseError, "invalid integer: #{str.inspect}" unless str =~ /\A(0|[1-9][0-9]*)\z/

  result = Integer(str, 10)
  raise TJSON::ParseError, "oversized integer: #{result}" if result > 18_446_744_073_709_551_615

  result
end

#tagObject



33
34
35
# File 'lib/tjson/datatype/integer.rb', line 33

def tag
  "u"
end