Sha256: 52becaed74c3c8b9c92915e57be9c9d1f785a64dbea8dc71687d3d160f2f2ad4
Contents?: true
Size: 1.6 KB
Versions: 2
Compression:
Stored size: 1.6 KB
Contents
require 'active_support/concern' module WashoutBuilder module SOAP extend ActiveSupport::Concern include WashOut::SOAP if defined?(WashOut::SOAP) include WashOut::Rails::Controller if defined?(WashOut::Rails::Controller) module ClassMethods attr_accessor :soap_actions, :washout_builder_action # 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. # @param [Symbol, Class] action the action that is requested # @param [Hash] options the options used for # # @return [void] # # @api public 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 = 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 end included do include WashOut::Configurable if defined?(WashOut::Configurable) include WashOut::Dispatcher if defined?(WashOut::Dispatcher) self.soap_actions = {} end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
washout_builder-0.16.1 | lib/washout_builder/soap.rb |
washout_builder-0.16.0 | lib/washout_builder/soap.rb |