Class: Protobuf::Field::FloatField

Inherits:
BaseField
  • Object
show all
Defined in:
lib/protobuf/message/field.rb

Direct Known Subclasses

DoubleField

Instance Attribute Summary

Attributes inherited from BaseField

#default, #default_value, #extension, #message_class, #name, #rule, #tag, #type

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseField

descriptor, #descriptor, #initialize, #initialized?, #max, #merge, #min, #optional?, #packed?, #ready?, #repeated?, #required?, #to_s

Constructor Details

This class inherits a constructor from Protobuf::Field::BaseField

Class Method Details

.default ⇒ Object



456
# File 'lib/protobuf/message/field.rb', line 456

def self.default; 0.0; end

.max ⇒ Object



457
# File 'lib/protobuf/message/field.rb', line 457

def self.max;  1.0/0; end

.min ⇒ Object



458
# File 'lib/protobuf/message/field.rb', line 458

def self.min; -1.0/0; end

Instance Method Details

#acceptable?(val) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (TypeError)


472
473
474
475
476
# File 'lib/protobuf/message/field.rb', line 472

def acceptable?(val)
  raise TypeError, val.class.name unless val.is_a?(Numeric)
  raise RangeError if val < min || max < val
  true
end

#decode(bytes) ⇒ Object



464
465
466
# File 'lib/protobuf/message/field.rb', line 464

def decode(bytes)
  bytes.unpack('e').first
end

#encode(value) ⇒ Object



468
469
470
# File 'lib/protobuf/message/field.rb', line 468

def encode(value)
  [value].pack('e')
end

#wire_type ⇒ Object



460
461
462
# File 'lib/protobuf/message/field.rb', line 460

def wire_type
  WireType::FIXED32
end