find_binding()
click to toggle source
def find_binding
root.bindings.find { |item| item.type == @name } or
raise RuntimeError.new("#{@name} not found")
end
locations()
click to toggle source
def locations
bind_name = find_binding.name
result = []
root.services.each do |service|
service.ports.each do |port|
if port.binding == bind_name
result << port.soap_address.location if port.soap_address
end
end
end
result
end
parse_attr(attr, value)
click to toggle source
def parse_attr(attr, value)
case attr
when NameAttrName
@name = XSD::QName.new(targetnamespace, value.source)
else
nil
end
end
parse_element(element)
click to toggle source
def parse_element(element)
case element
when OperationName
o = Operation.new
@operations << o
o
when DocumentationName
o = Documentation.new
o
else
nil
end
end
targetnamespace()
click to toggle source
def targetnamespace
parent.targetnamespace
end