Class: Solace::Serializers::BaseSerializer
- Defined in:
- lib/solace/serializers/base_serializer.rb
Overview
Base serializer class
Direct Known Subclasses
AddressLookupTableSerializer, InstructionSerializer, MessageSerializer, TransactionSerializer
Class Attribute Summary collapse
-
.steps ⇒ Array
The steps to deserialize the record.
-
.STEPS ⇒ Object
An ordered list of methods to deserialize the record.
Instance Attribute Summary collapse
-
#record ⇒ Record
The serialized record.
Instance Method Summary collapse
-
#call ⇒ String
Serializes the record.
-
#initialize(record) ⇒ BaseSerializer
constructor
Initialize a new serializer.
Methods inherited from Base
Constructor Details
#initialize(record) ⇒ BaseSerializer
Initialize a new serializer
31 32 33 |
# File 'lib/solace/serializers/base_serializer.rb', line 31 def initialize(record) @record = record end |
Class Attribute Details
.steps ⇒ Array
Returns The steps to deserialize the record.
18 19 20 |
# File 'lib/solace/serializers/base_serializer.rb', line 18 def steps @steps end |
.STEPS ⇒ Object
An ordered list of methods to deserialize the record
18 |
# File 'lib/solace/serializers/base_serializer.rb', line 18 attr_accessor :steps |
Instance Attribute Details
#record ⇒ Record
Returns The serialized record.
25 26 27 |
# File 'lib/solace/serializers/base_serializer.rb', line 25 def record @record end |
Instance Method Details
#call ⇒ String
Serializes the record
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/solace/serializers/base_serializer.rb', line 38 def call bin = self.class .steps .map { |m| send(m) } .flatten .compact .pack('C*') Base64.strict_encode64(bin) rescue NameError => e raise "STEPS must be defined: #{e.}" end |