summaryrefslogtreecommitdiff
path: root/sample/wsdl/raa2.4/wsdlDriver.rb
diff options
context:
space:
mode:
author(no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-03 15:38:36 +0000
committer(no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-07-03 15:38:36 +0000
commit5548c7bff292de16abb9f6e8d9cc4999e0b22c71 (patch)
treece6b571d063d031d1b5cba3ba7671ca138405a3a /sample/wsdl/raa2.4/wsdlDriver.rb
parentab31bf0d4d44942e46d98d8848b788ac6df32a46 (diff)
This commit was manufactured by cvs2svn to create branch 'ruby_1_8'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample/wsdl/raa2.4/wsdlDriver.rb')
-rw-r--r--sample/wsdl/raa2.4/wsdlDriver.rb117
1 files changed, 117 insertions, 0 deletions
diff --git a/sample/wsdl/raa2.4/wsdlDriver.rb b/sample/wsdl/raa2.4/wsdlDriver.rb
new file mode 100644
index 0000000000..bc5fb19982
--- /dev/null
+++ b/sample/wsdl/raa2.4/wsdlDriver.rb
@@ -0,0 +1,117 @@
+#!/usr/bin/env ruby
+
+# You can generate raa.rb required here with the command;
+# wsdl2ruby.rb --wsdl http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/ --classdef
+require 'raa'
+require 'soap/wsdlDriver'
+require 'pp'
+
+RAA_WSDL = 'http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/'
+
+raa = SOAP::WSDLDriverFactory.new(RAA_WSDL).create_driver
+raa.generate_explicit_type = true
+# raa.wiredump_dev = STDERR
+
+def sec(msg)
+ puts
+ puts "--------"
+ puts "-- " + msg
+ puts
+end
+
+def subsec(msg)
+ puts "-- " + msg
+end
+
+sec("retrieve a gem (RAA Information) which has specified name")
+name = 'soap4r'
+pp raa.gem(name)
+
+sec("retrieve dependents of the project")
+name = 'http-access2'; version = nil
+pp raa.dependents(name, version)
+
+sec("number of registered gems")
+puts raa.size
+
+sec("retrieve all registered gem names")
+p raa.names
+
+sec("retrieve gems of specified category")
+major = 'Library'; minor = 'XML'
+p raa.list_by_category(major, minor)
+
+sec("retrieve category tree")
+pp raa.tree_by_category
+
+sec("retrieve gems which is updated recently")
+idx = 0
+p raa.list_recent_updated(idx)
+subsec("next 10 gems")
+idx += 1
+p raa.list_recent_updated(idx)
+subsec("next 10 gems")
+idx += 1
+p raa.list_recent_updated(idx)
+
+sec("retrieve gems which is created recently")
+p raa.list_recent_created(idx)
+
+sec("retrieve gems which is updated in 7 days")
+date = Time.now - 7 * 24 * 60 * 60; idx = 0
+p raa.list_updated_since(date, idx)
+
+sec("retrieve gems which is created in 7 days")
+p raa.list_created_since(date, idx)
+
+sec("retrieve gems of specified owner")
+owner_id = 8 # NaHi
+p raa.list_by_owner(owner_id)
+
+sec("search gems with keyword")
+substring = 'soap'
+pp raa.search(substring)
+
+# There are several search interface to search a field explicitly.
+# puts raa.search_name(substring, idx)
+# puts raa.search_short_description(substring, idx)
+# puts raa.search_owner(substring, idx)
+# puts raa.search_version(substring, idx)
+# puts raa.search_status(substring, idx)
+# puts raa.search_description(substring, idx)
+
+sec("retrieve owner info")
+owner_id = 8
+pp raa.owner(owner_id)
+
+sec("retrieve owners")
+idx = 0
+p raa.list_owner(idx)
+
+sec("update 'sampleproject'")
+name = 'sampleproject'
+pass = 'sampleproject'
+gem = raa.gem(name)
+p gem.project.version
+gem.project.version.succ!
+gem.updated = Time.now
+raa.update(name, pass, gem)
+p raa.gem(name).project.version
+
+sec("update pass phrase")
+raa.update_pass(name, 'sampleproject', 'foo')
+subsec("update check")
+gem = raa.gem(name)
+gem.project.description = 'Current pass phrase is "foo"'
+gem.updated = Time.now
+raa.update(name, 'foo', gem)
+#
+subsec("recover pass phrase")
+raa.update_pass(name, 'foo', 'sampleproject')
+subsec("update check")
+gem = raa.gem(name)
+gem.project.description = 'Current pass phrase is "sampleproject"'
+gem.updated = Time.now
+raa.update(name, 'sampleproject', gem)
+
+sec("done")