Sha256: d31744fde7207306e5e2a0633eb5c1342c87ffa4c5b875a16a29e30aef7e75b8

Contents?: true

Size: 765 Bytes

Versions: 1

Compression:

Stored size: 765 Bytes

Contents

module Sinatra
  module Soap
    class Wsdl

      @@actions = {}

      def self.actions
        @@actions
      end

      def self.register(name, *args, &block)
        @@actions[name] = {}
        args = args.pop || {}
        args.each do |key, value|
          @@actions[name][key] = value || {}
        end
        @@actions[name][:block] = block if block_given?
      end

      def self.generate
      end

      attr_accessor :action, :block, :arguments

      def initialize(action)
        data = all[action]
        raise Soap::Error, "Undefined Soap Action" if data.nil?
        @action = action
        @block = data[:block]
        @arguments = data.select {|k,v| k != :block}
      end

      def all
        @@actions
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sinatra-soap-current-0.1.8 lib/sinatra/soap/wsdl.rb