summaryrefslogtreecommitdiff
path: root/sample/soap/digraph.rb
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-24 15:18:44 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-24 15:18:44 +0000
commitdb9445103c082a306ba085f7677da02ea94b8841 (patch)
treea311d59f031ae5def87f68be71ed1f58abadc031 /sample/soap/digraph.rb
parent8c2fb77787d1f20b4c19c9c52552856c339b86e9 (diff)
* lib/soap/* (29 files): SOAP4R added.
* lib/wsdl/* (42 files): WSDL4R added. * lib/xsd/* (12 files): XSD4R added. * test/soap/* (16 files): added. * test/wsdl/* (2 files): added. * test/xsd/* (3 files): added. * sample/soap/* (27 files): added. * sample/wsdl/* (13 files): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample/soap/digraph.rb')
-rw-r--r--sample/soap/digraph.rb43
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")