Sha256: acbb9c26f06bbb99ad171750ed8e43cc3f998c5735cb646a399240df0104e06e

Contents?: true

Size: 642 Bytes

Versions: 3

Compression:

Stored size: 642 Bytes

Contents

module Chronicle::Serialization
  class Serializer
    # Construct a new instance of this serializer.
    # == Parameters:
    # options::
    #   Options for configuring this Serializers
    def initialize(record, options = {})
      raise(SerializationError, "Record must be a subclass of Chronicle::Schema::Base") unless record.is_a?(Chronicle::Schema::Base)

      @record = record
      @options = options
    end

    # Serialize a record as a hash
    def serializable_hash
      raise NotImplementedError
    end

    def self.serialize(record)
      serializer = self.new(record)
      serializer.serializable_hash
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
chronicle-core-0.2.2 lib/chronicle/serialization/serializer.rb
chronicle-core-0.2.1 lib/chronicle/serialization/serializer.rb
chronicle-core-0.2.0 lib/chronicle/serialization/serializer.rb