class RLP::Error::ObjectSerializationError
Exception raised if serialization of a {RLP::Sedes::Serializable} object fails.
Attributes
field[RW]
Public Class Methods
new(message: nil, obj: nil, sedes: nil, list_exception: nil)
click to toggle source
@param sedes [RLP::Sedes::Serializable] the sedes that failed @param list_exception [RLP::Error::ListSerializationError] exception raised by the underlying
list sedes, or `nil` if no exception has been raised
Calls superclass method
RLP::Error::SerializationError::new
# File lib/rlp/error.rb, line 91 def initialize(message: nil, obj: nil, sedes: nil, list_exception: nil) if message.nil? raise ArgumentError, "list_exception and sedes must be present" if list_exception.nil? || sedes.nil? if list_exception.element_exception field = sedes.serializable_fields.keys[list_exception.index] message = "Serialization failed because of field #{field} ('#{list_exception.element_exception}')" else field = nil message = "Serialization failed because of underlying list ('#{list_exception}')" end else field = nil end super(message, obj) @field = field @list_exception = list_exception end