Class: Moneta::Transforms::BSON

Inherits:
Moneta::Transform::Serializer show all
Defined in:
lib/moneta/transforms/bson.rb

Overview

Serializes objects to binary strings using the bson gem

Instance Method Summary collapse

Methods inherited from Moneta::Transform::Serializer

#decodable?, #decode, delegate_to, #encode, #initialize

Methods inherited from Moneta::Transform

#decodable?, #decode, delegate_to, #encode, #initialize, #method_missing, #respond_to_missing?

Constructor Details

This class inherits a constructor from Moneta::Transform::Serializer

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Moneta::Transform

Instance Method Details

#deserialize(value) ⇒ Object

Deserialize from BSON

Parameters:

  • value (String)

Returns:

  • (Object)


19
20
21
# File 'lib/moneta/transforms/bson.rb', line 19

def deserialize(value)
  ::BSON::Document.from_bson(::BSON::ByteBuffer.new(value))["v"]
end

#serialize(value) ⇒ String

Serialize to BSON

Parameters:

  • value (Object)

Returns:

  • (String)


11
12
13
# File 'lib/moneta/transforms/bson.rb', line 11

def serialize(value)
  ::BSON::Document["v" => value].to_bson.to_s
end