Module: Protobuf::Field
- Defined in:
- lib/protobuf/message/field.rb
Defined Under Namespace
Classes: BaseField, BoolField, BytesField, DoubleField, EnumField, FieldArray, FieldProxy, Fixed32Field, Fixed64Field, FloatField, Int32Field, Int64Field, IntegerField, MessageField, Sfixed32Field, Sfixed64Field, SignedIntegerField, Sint32Field, Sint64Field, StringField, Uint32Field, Uint64Field, VarintField
Constant Summary collapse
- PREDEFINED_TYPES =
[ :double, :float, :int32, :int64, :uint32, :uint64, :sint32, :sint64, :fixed32, :fixed64, :sfixed32, :sfixed64, :string, :bytes, :bool, ].freeze
Class Method Summary collapse
Class Method Details
.build(message_class, rule, type, name, tag, options = {}) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/protobuf/message/field.rb', line 19 def self.build(, rule, type, name, tag, ={}) field_class = \ if PREDEFINED_TYPES.include?(type) const_get("#{type.to_s.capitalize}Field") else FieldProxy end field_class.new(, rule, type, name, tag, ) end |