module BSON::OpenStruct
Injects behaviour for encoding OpenStruct objects using hashes to raw bytes as specified by the BSON spec.
@see bsonspec.org/#/specification
@since 4.2.0
Public Instance Methods
bson_type()
click to toggle source
The BSON type for OpenStruct objects is the Hash type of 0x03.
@example Get the bson type.
struct.bson_type
@return [ String ] The character 0x03.
@since 4.2.0
# File lib/bson/open_struct.rb, line 51 def bson_type ::Hash::BSON_TYPE end
to_bson(buffer = ByteBuffer.new, validating_keys = Config.validating_keys?)
click to toggle source
Get the OpenStruct as encoded BSON.
@example Get the OpenStruct object as encoded BSON.
OpenStruct.new({ "field" => "value" }).to_bson
@return [ BSON::ByteBuffer ] The buffer with the encoded object.
@see bsonspec.org/#/specification
@since 4.2.0
# File lib/bson/open_struct.rb, line 35 def to_bson(buffer = ByteBuffer.new, validating_keys = Config.validating_keys?) if Environment.ruby_1_9? marshal_dump.dup else to_h end.to_bson(buffer, validating_keys) end