Sha256: ad962835b3734851ecb240ffba1a504900a8d818a397eefc06ff08633fe640cf
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
require 'uri' class Sekken class WSDL class DocumentCollection include Enumerable def initialize @documents = [] end def <<(document) @documents << document end def each(&block) @documents.each(&block) end def service_name @service_name ||= first.service_name end def messages @messages ||= collect_sections { |document| document.messages } end def port_types @port_types ||= collect_sections { |document| document.port_types } end def bindings @bindings ||= collect_sections { |document| document.bindings } end def services @services ||= collect_sections { |document| document.services } end # Public: Returns a port by service and port name. def service_port(service_name, port_name) service = services.fetch(service_name) service.ports.fetch(port_name) end private def collect_sections result = {} each do |document| sections = yield document result.merge! sections end result end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sekken-0.3.0 | lib/sekken/wsdl/document_collection.rb |
sekken-0.2.0 | lib/sekken/wsdl/document_collection.rb |
sekken-0.1.0 | lib/sekken/wsdl/document_collection.rb |