Class: Exonum::StringT

Inherits:
Object
  • Object
show all
Defined in:
lib/exonum/types/primitive.rb

Class Method Summary collapse

Class Method Details

.fixed?Boolean

Returns:

  • (Boolean)


264
265
266
# File 'lib/exonum/types/primitive.rb', line 264

def self.fixed?
  false
end

.serialize(value, buffer, from, shift = 0) ⇒ Object



268
269
270
271
272
273
274
275
276
277
278
# File 'lib/exonum/types/primitive.rb', line 268

def self.serialize value, buffer, from, shift=0
  raise "Expecting string" unless value.is_a?(String)
  bufferLengthOld = buffer.length
  bufferLengthNew = bufferLengthOld
  UInt32T.serialize(bufferLengthOld - shift, buffer, from) # index where string content starts in buffer
  value.bytes.each do |byte|
    buffer[bufferLengthNew] = byte
    bufferLengthNew += 1
  end
  UInt32T.serialize(bufferLengthNew - bufferLengthOld, buffer, from + 4) # string length
end

.sizeObject



260
261
262
# File 'lib/exonum/types/primitive.rb', line 260

def self.size
  8
end