Sha256: 30266b2ba27b32882c8dbc0e3130ffd844395c41fa79ed8dd3bba215350b9a20

Contents?: true

Size: 685 Bytes

Versions: 10

Compression:

Stored size: 685 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'
require_relative 'raw_serializer'

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
chronicle-etl-0.5.5 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.5.4 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.5.3 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.5.2 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.5.1 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.5.0 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.4.4 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.4.3 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.4.2 lib/chronicle/etl/serializers/serializer.rb
chronicle-etl-0.4.1 lib/chronicle/etl/serializers/serializer.rb