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