class Wasabi::Document
Wasabi::Document¶ ↑
Represents a WSDL document.
Attributes
document[RW]
endpoint[W]
Sets the SOAP endpoint.
namespace[W]
Sets the target namespace.
Public Class Methods
new(document = nil)
click to toggle source
Accepts a WSDL document
to parse.
# File lib/wasabi/document.rb, line 12 def initialize(document = nil) self.document = document end
Public Instance Methods
document?()
click to toggle source
Returns whether a document
was set.
# File lib/wasabi/document.rb, line 19 def document? !!document end
element_form_default()
click to toggle source
Returns the value of elementFormDefault.
# File lib/wasabi/document.rb, line 40 def element_form_default @element_form_default ||= parser.element_form_default end
endpoint()
click to toggle source
Returns the SOAP endpoint.
# File lib/wasabi/document.rb, line 24 def endpoint @endpoint ||= parser.endpoint end
namespace()
click to toggle source
Returns the target namespace.
# File lib/wasabi/document.rb, line 32 def namespace @namespace ||= parser.namespace end
operations()
click to toggle source
Returns a map of SOAP operations.
# File lib/wasabi/document.rb, line 60 def operations @operations ||= parser.operations end
soap_action(key)
click to toggle source
Returns the SOAP action for a given key
.
# File lib/wasabi/document.rb, line 50 def soap_action(key) operations[key][:action] if operations[key] end
soap_actions()
click to toggle source
Returns a list of available SOAP actions.
# File lib/wasabi/document.rb, line 45 def soap_actions @soap_actions ||= parser.operations.keys end
soap_input(key)
click to toggle source
Returns the SOAP input for a given key
.
# File lib/wasabi/document.rb, line 55 def soap_input(key) operations[key][:input] if operations[key] end
xml()
click to toggle source
Returns the raw WSDL document. Can be used as a hook to extend the library.
# File lib/wasabi/document.rb, line 66 def xml @xml ||= document end
Private Instance Methods
guard_parse()
click to toggle source
Raises an error if the WSDL document is missing.
# File lib/wasabi/document.rb, line 78 def guard_parse return true if xml.kind_of?(String) raise ArgumentError, "Wasabi needs a WSDL document" end
parse()
click to toggle source
Parses the WSDL document and returns Wasabi::Parser
.
# File lib/wasabi/document.rb, line 84 def parse parser = Parser.new Nokogiri::XML(xml) parser.parse parser end
parser()
click to toggle source
Parses the WSDL document and returns the Wasabi::Parser
.
# File lib/wasabi/document.rb, line 73 def parser @parser ||= guard_parse && parse end