module WashOut::SOAP::ClassMethods
Attributes
soap_actions[RW]
Public Instance Methods
soap_action(action, options={})
click to toggle source
Define a SOAP
action action
. The function has two required options
: :args and :return. Each is a type definition
of format described in WashOut::Param#parse_def.
An optional option :to can be passed to allow for names of SOAP
actions which are not valid Ruby function names.
# File lib/wash_out/soap.rb, line 16 def soap_action(action, options={}) if action.is_a?(Symbol) if soap_config.camelize_wsdl.to_s == 'lower' options[:to] ||= action.to_s action = action.to_s.camelize(:lower) elsif soap_config.camelize_wsdl options[:to] ||= action.to_s action = action.to_s.camelize end end default_response_tag = soap_config.camelize_wsdl ? 'Response' : '_response' default_response_tag = action+default_response_tag self.soap_actions[action] = options.merge( :in => WashOut::Param.parse_def(soap_config, options[:args]), :request_tag => options[:as] || action, :out => WashOut::Param.parse_def(soap_config, options[:return]), :to => options[:to] || action, :response_tag => options[:response_tag] || default_response_tag ) end