Parent

Namespace

Files

Class Index [+]

Quicksearch

WSDL::Operation

Constants

EMPTY

Attributes

name[R]
parameter_order[R]
input[R]
output[R]
fault[R]
type[R]

Public Class Methods

new() click to toggle source
    # File lib/wsdl/operation.rb, line 34
34:   def initialize
35:     super
36:     @name = nil
37:     @type = nil
38:     @parameter_order = nil
39:     @input = nil
40:     @output = nil
41:     @fault = []
42:   end

Public Instance Methods

input_info() click to toggle source
    # File lib/wsdl/operation.rb, line 52
52:   def input_info
53:     if message = input_message
54:       typename = message.name
55:     else
56:       typename = nil
57:     end
58:     NameInfo.new(operationname, typename, inputparts)
59:   end
inputname() click to toggle source
    # File lib/wsdl/operation.rb, line 79
79:   def inputname
80:     if input
81:       as_operationname(input.name ? input.name.name : @name)
82:     else
83:       nil
84:     end
85:   end
inputparts() click to toggle source
    # File lib/wsdl/operation.rb, line 71
71:   def inputparts
72:     if message = input_message
73:       sort_parts(message.parts)
74:     else
75:       EMPTY
76:     end
77:   end
operationname() click to toggle source
    # File lib/wsdl/operation.rb, line 48
48:   def operationname
49:     as_operationname(@name)
50:   end
output_info() click to toggle source
    # File lib/wsdl/operation.rb, line 61
61:   def output_info
62:     if message = output_message
63:       typename = message.name
64:     else
65:       typename = nil
66:     end
67:     NameInfo.new(operationname, typename, outputparts)
68:   end
outputname() click to toggle source
     # File lib/wsdl/operation.rb, line 95
 95:   def outputname
 96:     if output
 97:       as_operationname(output.name ? output.name.name : @name + 'Response')
 98:     else
 99:       nil
100:     end
101:   end
outputparts() click to toggle source
    # File lib/wsdl/operation.rb, line 87
87:   def outputparts
88:     if message = output_message
89:       sort_parts(message.parts)
90:     else
91:       EMPTY
92:     end
93:   end
parse_attr(attr, value) click to toggle source
     # File lib/wsdl/operation.rb, line 125
125:   def parse_attr(attr, value)
126:     case attr
127:     when NameAttrName
128:       @name = value.source
129:     when TypeAttrName
130:       @type = value
131:     when ParameterOrderAttrName
132:       @parameter_order = value.source.split(/\s+/)
133:     else
134:       nil
135:     end
136:   end
parse_element(element) click to toggle source
     # File lib/wsdl/operation.rb, line 103
103:   def parse_element(element)
104:     case element
105:     when InputName
106:       o = Param.new
107:       @input = o
108:       o
109:     when OutputName
110:       o = Param.new
111:       @output = o
112:       o
113:     when FaultName
114:       o = Param.new
115:       @fault << o
116:       o
117:     when DocumentationName
118:       o = Documentation.new
119:       o
120:     else
121:       nil
122:     end
123:   end
targetnamespace() click to toggle source
    # File lib/wsdl/operation.rb, line 44
44:   def targetnamespace
45:     parent.targetnamespace
46:   end

Private Instance Methods

as_operationname(name) click to toggle source
     # File lib/wsdl/operation.rb, line 172
172:   def as_operationname(name)
173:     XSD::QName.new(targetnamespace, name)
174:   end
input_message() click to toggle source
     # File lib/wsdl/operation.rb, line 140
140:   def input_message
141:     if input and message = input.find_message
142:       message
143:     else
144:       nil
145:     end
146:   end
output_message() click to toggle source
     # File lib/wsdl/operation.rb, line 148
148:   def output_message
149:     if output and message = output.find_message
150:       message
151:     else
152:       nil
153:     end
154:   end
sort_parts(parts) click to toggle source
     # File lib/wsdl/operation.rb, line 156
156:   def sort_parts(parts)
157:     return parts.dup unless parameter_order
158:     result = []
159:     parameter_order.each do |orderitem|
160:       if (ele = parts.find { |part| part.name == orderitem })
161:         result << ele
162:       end
163:     end
164:     if result.length == 0
165:       return parts.dup
166:     end
167:     # result length can be shorter than parts's.
168:     # return part must not be a part of the parameterOrder.
169:     result
170:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.