Class: Protobuf::Field::BytesField
Overview
Field class for bytes type.
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
Class Method Details
.default ⇒ Object
303
304
305
|
# File 'lib/protobuf/message/field.rb', line 303
def self.default
''
end
|
Instance Method Details
#acceptable?(val) ⇒ Boolean
311
312
313
314
|
# File 'lib/protobuf/message/field.rb', line 311
def acceptable?(val)
raise TypeError unless val.is_a?(String)
true
end
|
#decode(bytes) ⇒ Object
316
317
318
|
# File 'lib/protobuf/message/field.rb', line 316
def decode(bytes)
bytes
end
|
#encode(value) ⇒ Object
320
321
322
323
324
325
326
327
328
329
330
|
# File 'lib/protobuf/message/field.rb', line 320
def encode(value)
if value.respond_to?(:force_encoding)
result = VarintField.encode(value.bytesize)
result << value.dup.force_encoding(Encoding::BINARY)
else
result = VarintField.encode(value.size)
result << value
end
end
|