Sha256: bb38693db134017e663944cfd1af2cd15a3fe24f057caa5dc7cab43bda664a2d

Contents?: true

Size: 869 Bytes

Versions: 16

Compression:

Stored size: 869 Bytes

Contents

require 'active_support/concern'

module WashOut
  module SOAP
    extend ActiveSupport::Concern

    module ClassMethods
      attr_accessor :soap_actions

      # 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.
      def soap_action(action, options={})
        self.soap_actions[action.to_s] = {
          :in     => WashOut::Param.parse_def(options[:args]),
          :out    => WashOut::Param.parse_def(options[:return]),
          :to     => options[:to] || action
        }
      end
    end

    included do
      include WashOut::Dispatcher
      self.soap_actions = {}
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
wash_out-0.4.1 lib/wash_out/soap.rb
wash_out-0.4.0 lib/wash_out/soap.rb
wash_out-0.3.6 lib/wash_out/soap.rb
wash_out-0.3.5 lib/wash_out/soap.rb
wash_out-0.3.4 lib/wash_out/soap.rb
wash_out-0.3.3 lib/wash_out/soap.rb
wash_out-0.3.2 lib/wash_out/soap.rb
wash_out-0.3.1 lib/wash_out/soap.rb
wash_out-0.3.0 lib/wash_out/soap.rb
wash_out-0.2.6 lib/wash_out/soap.rb
wash_out-0.2.5 lib/wash_out/soap.rb
wash_out-0.2.4 lib/wash_out/soap.rb
wash_out-0.2.3 lib/wash_out/soap.rb
wash_out-0.2.2 lib/wash_out/soap.rb
wash_out-0.2.1 lib/wash_out/soap.rb
wash_out-0.2.0 lib/wash_out/soap.rb