Class: Moneta::Transforms::BEncode
- Inherits:
-
Moneta::Transform::Serializer
- Object
- Moneta::Transform
- Moneta::Transform::Serializer
- Moneta::Transforms::BEncode
- Defined in:
- lib/moneta/transforms/bencode.rb
Overview
Serializes objects using the bencode gem
Instance Method Summary collapse
- #deserialize(value) ⇒ Object
-
#serialize(value) ⇒ Object
abstract
This method will be called by Moneta::Transform::Serializer#encode except when the value being encoded is a string, and the object is in
serialize_unless_string
mode.
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
13 14 15 16 17 18 |
# File 'lib/moneta/transforms/bencode.rb', line 13 def deserialize(value) # BEncode needs a mutable string ::BEncode.load(value.dup).tap do |deserialized_value| raise "::BEncode.load returned nil" if deserialized_value == nil end end |
#serialize(value) ⇒ Object
All Subclasses should implement this method
This method will be called by Moneta::Transform::Serializer#encode except when the value being encoded is a string, and the object is in serialize_unless_string
mode.
8 9 10 |
# File 'lib/moneta/transforms/bencode.rb', line 8 def serialize(value) ::BEncode.dump(value) end |