Sha256: 1b8282a68aab0b18400d62b620143731511dfb5c1b1e19e9cc2b92666ee92503

Contents?: true

Size: 725 Bytes

Versions: 31

Compression:

Stored size: 725 Bytes

Contents

require "soap/rpc/httpserver"

require "rabbit/soap/base"

module Rabbit
  module SOAP

    class Server < ::SOAP::RPC::HTTPServer

      def initialize(front, config)
        config[:SOAPDefaultNamespace] = NS
        super(config)
        setup_rpc_servant(front)
      end

      private
      def setup_rpc_servant(front)
        front.public_methods(false).each do |name|
          element_name = SOAP.element_name(name)
          if name != element_name
            front.instance_eval(<<-EOS, __FILE__, __LINE__)
              class << self
                alias_method(#{element_name.dump}, #{name.dump})
              end
EOS
          end
        end
        add_rpc_servant(front)
      end
    end
    
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
rabbit-2.1.3 lib/rabbit/soap/server.rb
rabbit-2.1.2 lib/rabbit/soap/server.rb
rabbit-2.1.1 lib/rabbit/soap/server.rb
rabbit-2.1.0 lib/rabbit/soap/server.rb
rabbit-2.0.9 lib/rabbit/soap/server.rb
rabbit-2.0.8 lib/rabbit/soap/server.rb
rabbit-2.0.7 lib/rabbit/soap/server.rb
rabbit-2.0.6 lib/rabbit/soap/server.rb
rabbit-2.0.5 lib/rabbit/soap/server.rb
rabbit-2.0.4 lib/rabbit/soap/server.rb
rabbit-2.0.3 lib/rabbit/soap/server.rb
rabbit-2.0.2 lib/rabbit/soap/server.rb
rabbit-2.0.1 lib/rabbit/soap/server.rb
rabbit-2.0.0 lib/rabbit/soap/server.rb
rabbit-1.0.9 lib/rabbit/soap/server.rb
rabbit-1.0.8 lib/rabbit/soap/server.rb
rabbit-1.0.7 lib/rabbit/soap/server.rb
rabbit-1.0.6 lib/rabbit/soap/server.rb
rabbit-1.0.5 lib/rabbit/soap/server.rb
rabbit-1.0.4 lib/rabbit/soap/server.rb