Sha256: 2c8bd36bb85041a224229517499f24baf40260e4d235d5617705a7d6a070de4c

Contents?: true

Size: 651 Bytes

Versions: 3

Compression:

Stored size: 651 Bytes

Contents

module Chronicle
  module ETL
    # Abstract class representing a Serializer for an ETL record
    class Serializer
      # Construct a new instance of this serializer.
      # == Parameters:
      # options::
      #   Options for configuring this Serializers
      def initialize(record, options = {})
        @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
end

require_relative 'jsonapi_serializer'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
chronicle-etl-0.4.0 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.3.1 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.3.0 lib/chronicle/etl/serializers/serializer.rb