Sha256: 8f9bc052f71ba5fe18e36b9ac7d887ca3683998ee2ccd4e6bd02366f43fcb006

Contents?: true

Size: 666 Bytes

Versions: 3

Compression:

Stored size: 666 Bytes

Contents

class Sekken
  class WSDL
    class Port

      def initialize(port_node, soap_node)
        @name     = port_node['name']
        @binding  = port_node['binding']

        @type     = soap_node.namespace.href
        @location = soap_node['location']
      end

      attr_reader :name, :binding, :type, :location

      def fetch_binding(documents)
        binding_local = @binding.split(':').last

        documents.bindings.fetch(binding_local) {
          raise "Unable to find binding #{binding_local.inspect} for port #{@name.inspect}"
        }
      end

      def to_hash
        { name => { type: type, location: location } }
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sekken-0.3.0 lib/sekken/wsdl/port.rb
sekken-0.2.0 lib/sekken/wsdl/port.rb
sekken-0.1.0 lib/sekken/wsdl/port.rb