Sha256: ddb69315038a455340cb892e94727cf9f63a996a2d17f8a02f3c42a7917b81c0

Contents?: true

Size: 888 Bytes

Versions: 30

Compression:

Stored size: 888 Bytes

Contents

module Dynflow
  module Serializers
    class Abstract

      attr_reader :args, :serialized_args

      def initialize(args, serialized_args = nil)
        @args = args
        @serialized_args = serialized_args
      end

      def args
        raise "@args not set" if @args.nil?
        return @args
      end

      def serialized_args
        raise "@serialized_args not set" if @serialized_args.nil?
        return @serialized_args
      end

      def perform_serialization!
        @serialized_args = args.map { |arg| serialize arg }
      end

      def perform_deserialization!
        raise "@serialized_args not set" if @serialized_args.nil?
        @args = serialized_args.map { |arg| deserialize arg }
      end

      def serialize(arg)
        raise NotImplementedError
      end

      def deserialize(arg)
        raise NotImplementedError
      end

    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
dynflow-0.8.35 lib/dynflow/serializers/abstract.rb
dynflow-0.8.34 lib/dynflow/serializers/abstract.rb
dynflow-0.8.33 lib/dynflow/serializers/abstract.rb
dynflow-0.8.32 lib/dynflow/serializers/abstract.rb
dynflow-0.8.31 lib/dynflow/serializers/abstract.rb
dynflow-0.8.30 lib/dynflow/serializers/abstract.rb
dynflow-0.8.29 lib/dynflow/serializers/abstract.rb
dynflow-0.8.28 lib/dynflow/serializers/abstract.rb
dynflow-0.8.27 lib/dynflow/serializers/abstract.rb
dynflow-0.8.26 lib/dynflow/serializers/abstract.rb
dynflow-0.8.25 lib/dynflow/serializers/abstract.rb
dynflow-0.8.24 lib/dynflow/serializers/abstract.rb
dynflow-0.8.23 lib/dynflow/serializers/abstract.rb
dynflow-0.8.22 lib/dynflow/serializers/abstract.rb
dynflow-0.8.21 lib/dynflow/serializers/abstract.rb
dynflow-0.8.20 lib/dynflow/serializers/abstract.rb
dynflow-0.8.19 lib/dynflow/serializers/abstract.rb
dynflow-0.8.18 lib/dynflow/serializers/abstract.rb
dynflow-0.8.17 lib/dynflow/serializers/abstract.rb
dynflow-0.8.16 lib/dynflow/serializers/abstract.rb