diff options
author | Kent Sibilev <ksibilev@gmail.com> | 2006-12-03 20:30:34 +0000 |
---|---|---|
committer | Kent Sibilev <ksibilev@gmail.com> | 2006-12-03 20:30:34 +0000 |
commit | abe8fa73a91b72e79717673393a4f5bc5cd341f7 (patch) | |
tree | 1c7f3233c0ea1ecceb5d4634b7ab9575a263ac89 /actionwebservice/lib/action_web_service/protocol | |
parent | db459370f8986f3de20c7c20fdcaf3ee811f292a (diff) | |
download | rails-abe8fa73a91b72e79717673393a4f5bc5cd341f7.tar.gz rails-abe8fa73a91b72e79717673393a4f5bc5cd341f7.tar.bz2 rails-abe8fa73a91b72e79717673393a4f5bc5cd341f7.zip |
Added support for decimal types. Closes #6676.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5670 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionwebservice/lib/action_web_service/protocol')
-rw-r--r-- | actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb | 14 | ||||
-rw-r--r-- | actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb | 10 |
2 files changed, 14 insertions, 10 deletions
diff --git a/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb b/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb index 351c9da159..1873396277 100644 --- a/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb +++ b/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb @@ -118,18 +118,12 @@ module ActionWebService end def register_static_factories - @registry.add(ActionWebService::Base64, - SOAP::SOAPBase64, - SoapBase64Factory.new, - nil) + @registry.add(ActionWebService::Base64, SOAP::SOAPBase64, SoapBase64Factory.new, nil) mapping = @registry.find_mapped_soap_class(ActionWebService::Base64) @type2binding[ActionWebService::Base64] = - SoapBinding.new(self, SOAP::SOAPBase64::Type, - ActionWebService::Base64, mapping) - @registry.add(Array, - SOAP::SOAPArray, - SoapTypedArrayFactory.new, - nil) + SoapBinding.new(self, SOAP::SOAPBase64::Type, ActionWebService::Base64, mapping) + @registry.add(Array, SOAP::SOAPArray, SoapTypedArrayFactory.new, nil) + @registry.add(::BigDecimal, SOAP::SOAPDouble, SOAP::Mapping::Registry::BasetypeFactory, {:derived_class => true}) end end diff --git a/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb b/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb index a3abc6a24d..8ec36a29f1 100644 --- a/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb +++ b/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb @@ -5,6 +5,16 @@ module XMLRPC # :nodoc: class FaultException # :nodoc: alias :message :faultString end + + class Create + def wrong_type(value) + if BigDecimal === value + [true, value.to_f] + else + false + end + end + end end module ActionWebService # :nodoc: |