diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-14 15:09:35 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-14 15:09:35 +0000 |
commit | 1a74fa4b04da04bd2bb33103dd3cf431438df38e (patch) | |
tree | f4a1d6c2961339e0c1d653c0f8427a53315080f0 /ruby_2_2/lib/xmlrpc/marshal.rb | |
parent | a5b755e50e2d9aabf28ba24bf58644ca22b01a4f (diff) |
add tag v2_2_9
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v2_2_9@61257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_2_2/lib/xmlrpc/marshal.rb')
-rw-r--r-- | ruby_2_2/lib/xmlrpc/marshal.rb | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/ruby_2_2/lib/xmlrpc/marshal.rb b/ruby_2_2/lib/xmlrpc/marshal.rb new file mode 100644 index 0000000000..ef1234f801 --- /dev/null +++ b/ruby_2_2/lib/xmlrpc/marshal.rb @@ -0,0 +1,66 @@ +# +# Copyright (C) 2001, 2002, 2003 by Michael Neumann (mneumann@ntecs.de) +# +# $Id$ +# + +require "xmlrpc/parser" +require "xmlrpc/create" +require "xmlrpc/config" +require "xmlrpc/utils" + +module XMLRPC # :nodoc: + + # Marshalling of XMLRPC::Create#methodCall and XMLRPC::Create#methodResponse + class Marshal + include ParserWriterChooseMixin + + class << self + + def dump_call( methodName, *params ) + new.dump_call( methodName, *params ) + end + + def dump_response( param ) + new.dump_response( param ) + end + + def load_call( stringOrReadable ) + new.load_call( stringOrReadable ) + end + + def load_response( stringOrReadable ) + new.load_response( stringOrReadable ) + end + + alias dump dump_response + alias load load_response + + end # class self + + def initialize( parser = nil, writer = nil ) + set_parser( parser ) + set_writer( writer ) + end + + def dump_call( methodName, *params ) + create.methodCall( methodName, *params ) + end + + def dump_response( param ) + create.methodResponse( ! param.kind_of?( XMLRPC::FaultException ) , param ) + end + + # Returns <code>[ methodname, params ]</code> + def load_call( stringOrReadable ) + parser.parseMethodCall( stringOrReadable ) + end + + # Returns +paramOrFault+ + def load_response( stringOrReadable ) + parser.parseMethodResponse( stringOrReadable )[1] + end + + end # class Marshal + +end |