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 52 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 36 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