Class: WSDL::SOAP::MethodDefCreator
- Includes:
- ClassDefCreatorSupport
- Defined in:
- lib/action_web_service/wsdl/soap/methodDefCreator.rb
Instance Attribute Summary collapse
-
#definitions ⇒ Object
readonly
Returns the value of attribute definitions.
Instance Method Summary collapse
- #collect_documentparameter(operation) ⇒ Object
- #collect_rpcparameter(operation) ⇒ Object
- #dump(porttype) ⇒ Object
-
#initialize(definitions) ⇒ MethodDefCreator
constructor
A new instance of MethodDefCreator.
Methods included from ClassDefCreatorSupport
#basetype_mapped_class, #create_class_name, #dq, #dqname, #dump_method_signature, #ndq, #sym
Methods included from XSD::CodeGen::GenSupport
capitalize, #format, keyword?, safeconstname, safeconstname?, safemethodname, safemethodname?, safevarname, safevarname?, uncapitalize
Constructor Details
#initialize(definitions) ⇒ MethodDefCreator
Returns a new instance of MethodDefCreator.
23 24 25 26 27 28 29 |
# File 'lib/action_web_service/wsdl/soap/methodDefCreator.rb', line 23 def initialize(definitions) @definitions = definitions @simpletypes = @definitions.collect_simpletypes @complextypes = @definitions.collect_complextypes @elements = @definitions.collect_elements @types = [] end |
Instance Attribute Details
#definitions ⇒ Object (readonly)
Returns the value of attribute definitions.
21 22 23 |
# File 'lib/action_web_service/wsdl/soap/methodDefCreator.rb', line 21 def definitions @definitions end |
Instance Method Details
#collect_documentparameter(operation) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/action_web_service/wsdl/soap/methodDefCreator.rb', line 66 def collect_documentparameter(operation) param = [] operation.inputparts.each do |input| param << param_set(::SOAP::RPC::SOAPMethod::IN, input.name, documentdefinedtype(input), elementqualified(input)) end operation.outputparts.each do |output| param << param_set(::SOAP::RPC::SOAPMethod::OUT, output.name, documentdefinedtype(output), elementqualified(output)) end param end |
#collect_rpcparameter(operation) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/action_web_service/wsdl/soap/methodDefCreator.rb', line 46 def collect_rpcparameter(operation) result = operation.inputparts.collect { |part| collect_type(part.type) param_set(::SOAP::RPC::SOAPMethod::IN, part.name, rpcdefinedtype(part)) } outparts = operation.outputparts if outparts.size > 0 retval = outparts[0] collect_type(retval.type) result << param_set(::SOAP::RPC::SOAPMethod::RETVAL, retval.name, rpcdefinedtype(retval)) cdr(outparts).each { |part| collect_type(part.type) result << param_set(::SOAP::RPC::SOAPMethod::OUT, part.name, rpcdefinedtype(part)) } end result end |
#dump(porttype) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/action_web_service/wsdl/soap/methodDefCreator.rb', line 31 def dump(porttype) @types.clear result = "" operations = @definitions.porttype(porttype).operations binding = @definitions.porttype_binding(porttype) operations.each do |operation| op_bind = binding.operations[operation.name] next unless op_bind # no binding is defined next unless op_bind.soapoperation # not a SOAP operation binding result << ",\n" unless result.empty? result << dump_method(operation, op_bind).chomp end return result, @types end |