lib/dynflow/serializers/abstract.rb in dynflow-0.8.2 vs lib/dynflow/serializers/abstract.rb in dynflow-0.8.3

- old
+ new

@@ -1,13 +1,39 @@ module Dynflow module Serializers class Abstract - def serialize(*args) + 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 = serialize + end + + def perform_deserialization! + raise "@serialized_args not set" if @serialized_args.nil? + @args = deserialize + end + + def serialize raise NotImplementedError end - def deserialize(serialized_args) + def deserialize raise NotImplementedError end end end