Class: Protobuf::Field::DoubleField
- Inherits:
-
VarintField
- Object
- BaseField
- VarintField
- Protobuf::Field::DoubleField
- Defined in:
- lib/protobuf/message/field.rb
Instance Attribute Summary
Attributes inherited from BaseField
#default, #message_class, #name, #rule, #tag, #type
Class Method Summary collapse
-
.max ⇒ Object
TODO.
-
.min ⇒ Object
TODO.
Instance Method Summary collapse
- #acceptable?(val) ⇒ Boolean
- #get_bytes(value) ⇒ Object
- #set_bytes(message_instance, bytes) ⇒ Object
- #wire_type ⇒ Object
Methods inherited from VarintField
Methods inherited from BaseField
#clear, default, #default_value, #define_accessor, #define_getter, #define_setter, descriptor, #descriptor, #error_message, #get, #initialize, #initialized?, #max, #merge, #merge_array, #merge_value, #min, #optional?, #ready?, #repeated?, #required?, #set, #set_array, #to_s, #typed_default_value
Constructor Details
This class inherits a constructor from Protobuf::Field::BaseField
Class Method Details
.max ⇒ Object
TODO
446 447 448 |
# File 'lib/protobuf/message/field.rb', line 446 def self.max '0x7fefffffffffffff'.unpack('d').first end |
.min ⇒ Object
TODO
451 452 453 |
# File 'lib/protobuf/message/field.rb', line 451 def self.min -(2**(64/2) - 1) end |
Instance Method Details
#acceptable?(val) ⇒ Boolean
463 464 465 466 467 |
# File 'lib/protobuf/message/field.rb', line 463 def acceptable?(val) raise TypeError.new(val.class.name) unless val.is_a? Numeric raise RangeError.new(val) if val < min or max < val true end |
#get_bytes(value) ⇒ Object
459 460 461 |
# File 'lib/protobuf/message/field.rb', line 459 def get_bytes(value) [value].pack('E') end |
#set_bytes(message_instance, bytes) ⇒ Object
455 456 457 |
# File 'lib/protobuf/message/field.rb', line 455 def set_bytes(, bytes) .send("#{name}=", bytes.unpack('E').first) end |
#wire_type ⇒ Object
441 442 443 |
# File 'lib/protobuf/message/field.rb', line 441 def wire_type Protobuf::WireType::FIXED64 end |