Sha256: 45b26e955e963efe1cbfd5a7715a245dc1e1b154fb43a99d256fe2d6918acf03

Contents?: true

Size: 825 Bytes

Versions: 3

Compression:

Stored size: 825 Bytes

Contents

class Sekken
  class WSDL
    class PortTypeOperation

      def initialize(operation_node)
        @operation_node = operation_node

        @name = operation_node['name']
        @input_node = find_node('input')
        @output_node = find_node('output')
      end

      attr_reader :name

      def input
        return @input if defined? @input
        @input = parse_node(@input_node)
      end

      def output
        return @output if defined? @output
        @output = parse_node(@output_node)
      end

      private

      def find_node(node_name)
        @operation_node.element_children.find { |node| node.name == node_name }
      end

      def parse_node(node)
        input = {}

        input[:name]    = node['name']
        input[:message] = node['message']

        input
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sekken-0.3.0 lib/sekken/wsdl/port_type_operation.rb
sekken-0.2.0 lib/sekken/wsdl/port_type_operation.rb
sekken-0.1.0 lib/sekken/wsdl/port_type_operation.rb