class BSON::DbPointer

@see bsonspec.org/#/specification<br><br>raw bytes as specified by the BSON spec.
Injects behaviour for encoding and decoding DBPointer values to and from

def self.from_bson(buffer, **options)

Other tags:
    See: http://bsonspec.org/#/specification -

Returns:
  • (BSON::DbPointer) - The decoded DBPointer.

Options Hash: (**options)
  • :mode (nil | :bson) -- Decoding mode to use.

Parameters:
  • options (Hash) --
  • buffer (ByteBuffer) -- The byte buffer.
def self.from_bson(buffer, **options)
  ref = buffer.get_string
  id = if options.empty?
    ObjectId.from_bson(buffer)
  else
    ObjectId.from_bson(buffer, **options)
  end
  new(ref, id)
end

def ==(other)

Returns:
  • (true | false) - If the objects are equal

Parameters:
  • other (Object) -- The object to compare against.
def ==(other)
  return false unless other.is_a?(DbPointer)
  ref == other.ref && id == other.id
end

def as_extended_json(**_options)

Returns:
  • (Hash) - The extended json representation.
def as_extended_json(**_options)
  { '$dbPointer' => { "$ref" => ref, '$id' => id.as_extended_json } }
end

def as_json(*_args)

Returns:
  • (Hash) - The extended json representation.
def as_json(*_args)
  as_extended_json
end

def initialize(ref, id)

Parameters:
  • id (BSON::ObjectId) -- The DBPointer id.
  • ref (String) -- The database collection name.
def initialize(ref, id)
  @ref = ref
  @id = id
end

def to_bson(buffer = ByteBuffer.new)

Other tags:
    See: http://bsonspec.org/#/specification -

Returns:
  • (BSON::ByteBuffer) - The buffer with the encoded object.
def to_bson(buffer = ByteBuffer.new)
  buffer.put_string(ref)
  id.to_bson(buffer)
  buffer
end