Module: WashoutBuilder::SOAP::ClassMethods

Defined in:
lib/washout_builder/soap.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#soap_actionsObject

Returns the value of attribute soap_actions.



11
12
13
# File 'lib/washout_builder/soap.rb', line 11

def soap_actions
  @soap_actions
end

Instance Method Details

#soap_action(action, options = {}) ⇒ Object

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.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/washout_builder/soap.rb', line 18

def soap_action(action, options={})
  original_soap_action(action, options)
 
  if action.is_a?(Symbol)
    if soap_config.camelize_wsdl.to_s == 'lower'
      action = action.to_s.camelize(:lower)
    elsif soap_config.camelize_wsdl
      action = action.to_s.camelize
    end
  end
  
  
  current_action = self.soap_actions[action]
  current_action[:builder_in] = WashOut::Param.parse_builder_def(soap_config, options[:args])
  current_action[:builder_out] = WashOut::Param.parse_builder_def(soap_config, options[:return])
   
end