diff options
Diffstat (limited to 'sample/soap/digraph.rb')
-rw-r--r-- | sample/soap/digraph.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sample/soap/digraph.rb b/sample/soap/digraph.rb new file mode 100644 index 0000000000..bf4a650cfe --- /dev/null +++ b/sample/soap/digraph.rb @@ -0,0 +1,43 @@ +require 'soap/marshal' + +class Node; include SOAP::Marshallable + attr_reader :first, :second, :str + + def initialize(*init_next) + @first = init_next[0] + @second = init_next[1] + end +end + +n9 = Node.new +n81 = Node.new(n9) +n82 = Node.new(n9) +n7 = Node.new(n81, n82) +n61 = Node.new(n7) +n62 = Node.new(n7) +n5 = Node.new(n61, n62) +n41 = Node.new(n5) +n42 = Node.new(n5) +n3 = Node.new(n41, n42) +n21 = Node.new(n3) +n22 = Node.new(n3) +n1 = Node.new(n21, n22) + +File.open("digraph_marshalled_string.soap", "wb") do |f| + SOAP::Marshal.dump(n1, f) +end + +marshalledString = File.open("digraph_marshalled_string.soap").read + +puts marshalledString + +newnode = SOAP::Marshal.unmarshal(marshalledString) + +puts newnode.inspect + +p newnode.first.first.__id__ +p newnode.second.first.__id__ +p newnode.first.first.first.first.__id__ +p newnode.second.first.second.first.__id__ + +File.unlink("digraph_marshalled_string.soap") |