Class: Sekken::WSDL::BindingOperation

Inherits:
Object
  • Object
show all
Defined in:
lib/sekken/wsdl/binding_operation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(operation_node, defaults = {}) ⇒ BindingOperation

Returns a new instance of BindingOperation.



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/sekken/wsdl/binding_operation.rb', line 5

def initialize(operation_node, defaults = {})
  @operation_node = operation_node

  if soap_operation_node = find_soap_operation_node
    namespace = soap_operation_node.first
    node = soap_operation_node.last

    @soap_namespace = namespace
    @soap_action = node['soapAction']
    @style = node['style'] || defaults[:style]
  end
end

Instance Attribute Details

#soap_actionObject (readonly)

Returns the value of attribute soap_action.



18
19
20
# File 'lib/sekken/wsdl/binding_operation.rb', line 18

def soap_action
  @soap_action
end

#soap_namespaceObject (readonly)

Returns the value of attribute soap_namespace.



18
19
20
# File 'lib/sekken/wsdl/binding_operation.rb', line 18

def soap_namespace
  @soap_namespace
end

#styleObject (readonly)

Returns the value of attribute style.



18
19
20
# File 'lib/sekken/wsdl/binding_operation.rb', line 18

def style
  @style
end

Instance Method Details

#input_bodyObject

TODO: maybe use proper classes to clean this up.



45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/sekken/wsdl/binding_operation.rb', line 45

def input_body
  return @input_body if @input_body
  input_body = {}

  if body_node = find_input_child_nodes('body').first
    input_body = {
      encoding_style: body_node['encodingStyle'],
      namespace:      body_node['namespace'],
      use:            body_node['use']
    }
  end

  @input_body = input_body
end

#input_headersObject

TODO: maybe use proper classes to clean this up.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/sekken/wsdl/binding_operation.rb', line 25

def input_headers
  return @input_headers if @input_headers
  input_headers = []

  if header_nodes = find_input_child_nodes('header')
    header_nodes.each do |header_node|
      input_headers << {
        encoding_style: header_node['encodingStyle'],
        namespace:      header_node['namespace'],
        use:            header_node['use'],
        message:        header_node['message'],
        part:           header_node['part']
      }
    end
  end

  @input_headers = input_headers
end

#nameObject



20
21
22
# File 'lib/sekken/wsdl/binding_operation.rb', line 20

def name
  @operation_node['name']
end