lolsoap 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7a361721a3138038d730668311a3e83340df411
4
- data.tar.gz: 6332b9fe23d9d46ce280e182ac110ee58134aa95
3
+ metadata.gz: 361f724919b1f7d84c87e673cd76cd787ed94a6a
4
+ data.tar.gz: 878031ba2f148961f8d0fce5cf7f6027c9ff091d
5
5
  SHA512:
6
- metadata.gz: 6681b3c04f898307549a55cf9b2092712c2ffd6733113a96a4dfec127bd60e61dd2dd960dd83f30572e38804ede58dbc6f3b2bc0d3fc4215404422c5e69793bd
7
- data.tar.gz: 41b82f801682f7c43468c587f387738d3d333e94e3d68540357df8fd0ad924958b7d3128782dfe7a16c201ebb3f89a7f3c68eec91104e0248e488cb386f32a22
6
+ metadata.gz: 501f2960c6979b15173833c6a6ad97d97b81a80ecfbf5b66ffe9fa153697be8fb5d1510c08a6a55c0f3294f7ac96ca3eebaafc4e37e1f4eeb3d7226bb1c72afb
7
+ data.tar.gz: 4b97d15fa2533e42732650eb7fcc8104cb877f7a85638ef689c51cfc13cf056533536f891b03a7f754ce75b2e63d1fcd7c181f1f421b06e7237994a71d99b78b
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.6.0
@@ -46,7 +46,7 @@ module LolSoap
46
46
 
47
47
  def initialize(node, type = WSDL::NullType.new)
48
48
  @node = node
49
- @type = type
49
+ @type = type || WSDL::NullType.new
50
50
  end
51
51
 
52
52
  # Add a tag manually, rather than through method_missing. This is so you can still
@@ -26,14 +26,14 @@ module LolSoap
26
26
  # b.some 'data'
27
27
  # end
28
28
  def body(klass = Builder)
29
- builder = klass.new(content, input_type)
29
+ builder = klass.new(body_content, input_body_type)
30
30
  yield builder if block_given?
31
31
  builder
32
32
  end
33
33
 
34
34
  # Build the header of the envelope
35
35
  def header(klass = Builder)
36
- builder = klass.new(@header)
36
+ builder = klass.new(header_content, input_header_type)
37
37
  yield builder if block_given?
38
38
  builder
39
39
  end
@@ -50,16 +50,40 @@ module LolSoap
50
50
  operation.input
51
51
  end
52
52
 
53
- def input_type
54
- input.type
53
+ def input_header
54
+ input.header
55
+ end
56
+
57
+ def input_header_type
58
+ input_header && input_header.type
59
+ end
60
+
61
+ def input_body
62
+ input.body
63
+ end
64
+
65
+ def input_body_type
66
+ input_body.type
55
67
  end
56
68
 
57
69
  def output
58
70
  operation.output
59
71
  end
60
72
 
61
- def output_type
62
- output.type
73
+ def output_header
74
+ output.header
75
+ end
76
+
77
+ def output_header_type
78
+ output_header && output_header.type
79
+ end
80
+
81
+ def output_body
82
+ output.body
83
+ end
84
+
85
+ def output_body_type
86
+ output_body.type
63
87
  end
64
88
 
65
89
  def to_xml(options = {})
@@ -81,7 +105,10 @@ module LolSoap
81
105
  private
82
106
 
83
107
  # @private
84
- def content; @content; end
108
+ def header_content; @header_content || @header; end
109
+
110
+ # @private
111
+ def body_content; @body_content; end
85
112
 
86
113
  # @private
87
114
  def initialize_doc
@@ -91,16 +118,23 @@ module LolSoap
91
118
  namespaces[soap_prefix] = root.add_namespace(soap_prefix, soap_namespace)
92
119
 
93
120
  @header = doc.create_element 'Header'
94
-
95
- @body = doc.create_element 'Body'
96
- @content = doc.create_element input.name
97
-
98
- [root, @header, @body].each { |el| el.namespace = namespaces[soap_prefix] }
99
- @content.namespace = namespaces[input.prefix]
100
-
101
- @body << @content
102
- root << @header
103
- root << @body
121
+ if input_header
122
+ @header_content = doc.create_element input_header.name
123
+ @header << @header_content
124
+ else
125
+ @header_content = nil
126
+ end
127
+
128
+ body = doc.create_element 'Body'
129
+ @body_content = doc.create_element input_body.name
130
+
131
+ [root, @header, body].each { |el| el.namespace = namespaces[soap_prefix] }
132
+ @header_content.namespace = namespaces[input_header.prefix] if @header_content
133
+ @body_content.namespace = namespaces[input_body.prefix]
134
+
135
+ body << @body_content
136
+ root << @header
137
+ root << body
104
138
  end
105
139
  end
106
140
  end
@@ -36,12 +36,12 @@ module LolSoap
36
36
 
37
37
  # The type of the element sent in the request body
38
38
  def input_type
39
- envelope.input_type
39
+ envelope.input_body_type
40
40
  end
41
41
 
42
42
  # The type of the element that will be received in the response body
43
43
  def output_type
44
- envelope.output_type
44
+ envelope.output_body_type
45
45
  end
46
46
 
47
47
  # The MIME type of the request. This is always application/soap+xml,
@@ -0,0 +1,16 @@
1
+ class LolSoap::WSDL
2
+ class OperationIO
3
+ attr_reader :header, :body
4
+
5
+ def initialize(header, body)
6
+ @header = header
7
+ @body = body
8
+ end
9
+
10
+ def inspect
11
+ "<#{self.class} " \
12
+ "header=#{header.inspect} " \
13
+ "body=#{body.inspect}>"
14
+ end
15
+ end
16
+ end
data/lib/lolsoap/wsdl.rb CHANGED
@@ -3,6 +3,7 @@ require 'lolsoap/wsdl_parser'
3
3
  module LolSoap
4
4
  class WSDL
5
5
  require 'lolsoap/wsdl/operation'
6
+ require 'lolsoap/wsdl/operation_io'
6
7
  require 'lolsoap/wsdl/type'
7
8
  require 'lolsoap/wsdl/named_type_reference'
8
9
  require 'lolsoap/wsdl/immediate_type_reference'
@@ -83,7 +84,13 @@ module LolSoap
83
84
  def load_operations(parser)
84
85
  Hash[
85
86
  parser.operations.map do |k, op|
86
- [k, Operation.new(self, k, op[:action], message_format(op[:input], parser), message_format(op[:output], parser))]
87
+ [k, Operation.new(
88
+ self,
89
+ k,
90
+ op[:action],
91
+ build_io(op[:input], parser),
92
+ build_io(op[:output], parser)
93
+ )]
87
94
  end
88
95
  ]
89
96
  end
@@ -143,8 +150,11 @@ module LolSoap
143
150
  end
144
151
 
145
152
  # @private
146
- def message_format(element, parser)
147
- build_element(parser.elements.fetch(element))
153
+ def build_io(io, parser)
154
+ OperationIO.new(
155
+ io[:header] && build_element(parser.elements[io[:header]]),
156
+ build_element(parser.elements[io[:body]])
157
+ )
148
158
  end
149
159
  end
150
160
  end
@@ -98,6 +98,52 @@ module LolSoap
98
98
  end
99
99
  end
100
100
 
101
+ class Operation
102
+ attr_reader :parser, :node
103
+
104
+ def initialize(parser, node)
105
+ @parser = parser
106
+ @node = node
107
+ end
108
+
109
+ def name
110
+ node.attribute('name').to_s
111
+ end
112
+
113
+ def action
114
+ node.at_xpath('./s:operation/@soapAction', parser.ns).to_s
115
+ end
116
+
117
+ def input
118
+ @input ||= OperationIO.new(
119
+ header(:input),
120
+ port_type_operation[:input]
121
+ )
122
+ end
123
+
124
+ def output
125
+ @output ||= OperationIO.new(
126
+ header(:output),
127
+ port_type_operation[:output]
128
+ )
129
+ end
130
+
131
+ private
132
+
133
+ def port_type_operation
134
+ parser.port_type_operations.fetch(name)
135
+ end
136
+
137
+ def header(direction)
138
+ if msg = node.at_xpath("./d:#{direction}/s:header/@message", parser.ns)
139
+ parser.messages.fetch(msg.to_s.split(':').last)
140
+ end
141
+ end
142
+ end
143
+
144
+ class OperationIO < Struct.new(:header, :body)
145
+ end
146
+
101
147
  SOAP_1_1 = 'http://schemas.xmlsoap.org/wsdl/soap/'
102
148
  SOAP_1_2 = 'http://schemas.xmlsoap.org/wsdl/soap12/'
103
149
 
@@ -184,16 +230,21 @@ module LolSoap
184
230
  binding = doc.at_xpath('/d:definitions/d:service/d:port/s:address/../@binding', ns).to_s.split(':').last
185
231
 
186
232
  Hash[
187
- doc.xpath("/d:definitions/d:binding[@name='#{binding}']/d:operation", ns).map do |op|
188
- name = op.attribute('name').to_s
189
- action = op.at_xpath('./s:operation/@soapAction', ns).to_s
233
+ doc.xpath("/d:definitions/d:binding[@name='#{binding}']/d:operation", ns).map do |node|
234
+ operation = Operation.new(self, node)
190
235
 
191
236
  [
192
- name,
237
+ operation.name,
193
238
  {
194
- :action => action,
195
- :input => port_type_operations.fetch(name)[:input],
196
- :output => port_type_operations.fetch(name)[:output]
239
+ :action => operation.action,
240
+ :input => {
241
+ :header => operation.input.header,
242
+ :body => operation.input.body
243
+ },
244
+ :output => {
245
+ :header => operation.output.header,
246
+ :body => operation.output.body
247
+ }
197
248
  }
198
249
  ]
199
250
  end
data/lolsoap.gemspec CHANGED
@@ -2,15 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: lolsoap 0.5.1 ruby lib
5
+ # stub: lolsoap 0.6.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "lolsoap"
9
- s.version = "0.5.1"
9
+ s.version = "0.6.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
12
13
  s.authors = ["Jon Leighton"]
13
- s.date = "2013-12-10"
14
+ s.date = "2014-09-23"
14
15
  s.description = "A library for dealing with SOAP requests and responses. We tear our hair out so you don't have to."
15
16
  s.email = "j@jonathanleighton.com"
16
17
  s.extra_rdoc_files = [
@@ -42,6 +43,7 @@ Gem::Specification.new do |s|
42
43
  "lib/lolsoap/wsdl/null_element.rb",
43
44
  "lib/lolsoap/wsdl/null_type.rb",
44
45
  "lib/lolsoap/wsdl/operation.rb",
46
+ "lib/lolsoap/wsdl/operation_io.rb",
45
47
  "lib/lolsoap/wsdl/type.rb",
46
48
  "lib/lolsoap/wsdl_parser.rb",
47
49
  "lolsoap.gemspec",
@@ -69,8 +71,7 @@ Gem::Specification.new do |s|
69
71
  ]
70
72
  s.homepage = "http://github.com/loco2/lolsoap"
71
73
  s.licenses = ["MIT"]
72
- s.require_paths = ["lib"]
73
- s.rubygems_version = "2.1.9"
74
+ s.rubygems_version = "2.2.2"
74
75
  s.summary = "A library for dealing with SOAP requests and responses."
75
76
 
76
77
  if s.respond_to? :specification_version then
@@ -27,6 +27,12 @@
27
27
  </all>
28
28
  </complexType>
29
29
  </element>
30
+ <element name="tradePriceRequestHeader">
31
+ <sequence>
32
+ <element name="username" type="xs:string"/>
33
+ <element name="password" type="xs:string"/>
34
+ </sequence>
35
+ </element>
30
36
  <element name="tradePriceRequest" type="xsd1:TradePriceRequest" />
31
37
  <complexType name="xsd1:TradePriceRequest" abstract="false">
32
38
  <complexContent>
@@ -82,6 +88,10 @@
82
88
  </schema>
83
89
  </types>
84
90
 
91
+ <message name="GetLastTradePriceInputHeader">
92
+ <part name="header" element="xsd1:tradePriceRequestHeader"/>
93
+ </message>
94
+
85
95
  <message name="GetLastTradePriceInput">
86
96
  <part name="body" xmlns:foo="http://example.com/stockquote.xsd" element="foo:tradePriceRequest"/>
87
97
  </message>
@@ -114,6 +124,7 @@
114
124
  <operation name="GetLastTradePrice">
115
125
  <soap:operation soapAction="http://example.com/GetLastTradePrice"/>
116
126
  <input>
127
+ <soap:header use="literal" message="GetLastTradePriceInputHeader" />
117
128
  <soap:body use="literal"/>
118
129
  </input>
119
130
  <output>
@@ -123,9 +134,11 @@
123
134
  <operation name="GetHistoricalPrice">
124
135
  <soap:operation soapAction="http://example.com/GetHistoricalPrice"/>
125
136
  <input>
137
+ <soap:header use="literal"/>
126
138
  <soap:body use="literal"/>
127
139
  </input>
128
140
  <output>
141
+ <soap:header use="literal"/>
129
142
  <soap:body use="literal"/>
130
143
  </output>
131
144
  </operation>
@@ -38,12 +38,12 @@ module LolSoap
38
38
 
39
39
  it 'creates some header' do
40
40
  subject.header do |h|
41
- h['ns0'].verySpecialBoolean true
41
+ h['ns0'].username 'LOCO2'
42
42
  end
43
43
 
44
- el = doc.at_xpath('/soap:Envelope/soap:Header/ns0:verySpecialBoolean', doc.namespaces)
44
+ el = doc.at_xpath('/soap:Envelope/soap:Header/ns0:tradePriceRequestHeader/ns0:username', doc.namespaces)
45
45
  el.wont_equal nil
46
- el.text.to_s.must_equal 'true'
46
+ el.text.to_s.must_equal 'LOCO2'
47
47
  end
48
48
  end
49
49
  end
@@ -8,8 +8,14 @@ module LolSoap
8
8
  it 'should successfully parse a WSDL document' do
9
9
  subject.operations.length.must_equal 2
10
10
  subject.operations.fetch('GetLastTradePrice').tap do |o|
11
- o.input.name.must_equal 'tradePriceRequest'
12
- o.action.must_equal 'http://example.com/GetLastTradePrice'
11
+ o.input.header.name.must_equal 'tradePriceRequestHeader'
12
+ o.input.body.name.must_equal 'tradePriceRequest'
13
+ o.action.must_equal 'http://example.com/GetLastTradePrice'
14
+ end
15
+
16
+ subject.operations.fetch('GetHistoricalPrice').tap do |o|
17
+ o.input.header.must_equal nil
18
+ o.input.body.name.must_equal 'historicalPriceRequest'
13
19
  end
14
20
 
15
21
  subject.types.length.must_equal 4
@@ -11,7 +11,7 @@ module LolSoap
11
11
  end
12
12
 
13
13
  let(:operation) do
14
- OpenStruct.new(:input => OpenStruct.new(:prefix => 'ns0', :name => 'WashHandsRequest'))
14
+ OpenStruct.new(:input => OpenStruct.new(:body => OpenStruct.new(:prefix => 'ns0', :name => 'WashHandsRequest')))
15
15
  end
16
16
 
17
17
  subject { Envelope.new(wsdl, operation) }
@@ -62,7 +62,7 @@ module LolSoap
62
62
  builder = Object.new
63
63
 
64
64
  builder_klass = MiniTest::Mock.new
65
- builder_klass.expect(:new, builder, [header])
65
+ builder_klass.expect(:new, builder, [header, nil])
66
66
 
67
67
  block = nil
68
68
  ret = subject.header(builder_klass) { |b| block = b }
@@ -75,7 +75,7 @@ module LolSoap
75
75
  builder = Object.new
76
76
 
77
77
  builder_klass = MiniTest::Mock.new
78
- builder_klass.expect(:new, builder, [header])
78
+ builder_klass.expect(:new, builder, [header, nil])
79
79
 
80
80
  subject.header(builder_klass).must_equal builder
81
81
  end
@@ -13,8 +13,8 @@ module LolSoap
13
13
  :operations => {
14
14
  'washHands' => {
15
15
  :action => 'urn:washHands',
16
- :input => [namespace, 'brush'],
17
- :output => [namespace, 'Color']
16
+ :input => { :body => [namespace, 'brush'] },
17
+ :output => { :body => [namespace, 'Color'] }
18
18
  }
19
19
  },
20
20
  :types => {
@@ -92,12 +92,12 @@ module LolSoap
92
92
  it 'returns a hash of operations' do
93
93
  subject.operations.length.must_equal 1
94
94
  subject.operations['washHands'].tap do |op|
95
- op.wsdl.must_equal subject
96
- op.action.must_equal 'urn:washHands'
97
- op.input.name.must_equal 'brush'
95
+ op.wsdl.must_equal subject
96
+ op.action.must_equal 'urn:washHands'
97
+ op.input.body.name.must_equal 'brush'
98
98
  op.output.tap do |output|
99
- output.is_a?(WSDL::Element).must_equal(true)
100
- output.type.elements.keys.sort.must_equal %w(hex name)
99
+ output.body.is_a?(WSDL::Element).must_equal(true)
100
+ output.body.type.elements.keys.sort.must_equal %w(hex name)
101
101
  end
102
102
  end
103
103
  end
@@ -110,6 +110,11 @@ module LolSoap
110
110
  describe '#elements' do
111
111
  it 'returns the elements with inline types' do
112
112
  subject.elements.must_equal({
113
+ [namespace, "tradePriceRequestHeader"] => {
114
+ :name => "tradePriceRequestHeader",
115
+ :namespace => namespace,
116
+ :type => nil
117
+ },
113
118
  [namespace, "tradePriceRequest"] => {
114
119
  :name => "tradePriceRequest",
115
120
  :namespace => namespace,
@@ -165,10 +170,11 @@ module LolSoap
165
170
  describe '#messages' do
166
171
  it 'maps message names to types' do
167
172
  subject.messages.must_equal({
168
- 'GetLastTradePriceInput' => [namespace, 'tradePriceRequest'],
169
- 'GetLastTradePriceOutput' => [namespace, 'TradePrice'],
170
- 'GetHistoricalPriceInput' => [namespace, 'historicalPriceRequest'],
171
- 'GetHistoricalPriceOutput' => [namespace, 'HistoricalPrice']
173
+ 'GetLastTradePriceInputHeader' => [namespace, 'tradePriceRequestHeader'],
174
+ 'GetLastTradePriceInput' => [namespace, 'tradePriceRequest'],
175
+ 'GetLastTradePriceOutput' => [namespace, 'TradePrice'],
176
+ 'GetHistoricalPriceInput' => [namespace, 'historicalPriceRequest'],
177
+ 'GetHistoricalPriceOutput' => [namespace, 'HistoricalPrice']
172
178
  })
173
179
  end
174
180
  end
@@ -193,13 +199,16 @@ module LolSoap
193
199
  subject.operations.must_equal({
194
200
  'GetLastTradePrice' => {
195
201
  :action => 'http://example.com/GetLastTradePrice',
196
- :input => [namespace, 'tradePriceRequest'],
197
- :output => [namespace, 'TradePrice']
202
+ :input => {
203
+ header: [namespace, 'tradePriceRequestHeader'],
204
+ body: [namespace, 'tradePriceRequest']
205
+ },
206
+ :output => { header: nil, body: [namespace, 'TradePrice'] }
198
207
  },
199
208
  'GetHistoricalPrice' => {
200
209
  :action => 'http://example.com/GetHistoricalPrice',
201
- :input => [namespace, 'historicalPriceRequest'],
202
- :output => [namespace, 'HistoricalPrice']
210
+ :input => { header: nil, body: [namespace, 'historicalPriceRequest'] },
211
+ :output => { header: nil, body: [namespace, 'HistoricalPrice'] }
203
212
  }
204
213
  })
205
214
  end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lolsoap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Leighton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-10 00:00:00.000000000 Z
11
+ date: 2014-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.5'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: jeweler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.6.4
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.6.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: yard
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: A library for dealing with SOAP requests and responses. We tear our hair
@@ -89,9 +89,9 @@ extra_rdoc_files:
89
89
  - LICENSE.txt
90
90
  - README.md
91
91
  files:
92
- - .document
93
- - .travis.yml
94
- - .yardopts
92
+ - ".document"
93
+ - ".travis.yml"
94
+ - ".yardopts"
95
95
  - Gemfile
96
96
  - Gemfile.lock
97
97
  - LICENSE.txt
@@ -113,6 +113,7 @@ files:
113
113
  - lib/lolsoap/wsdl/null_element.rb
114
114
  - lib/lolsoap/wsdl/null_type.rb
115
115
  - lib/lolsoap/wsdl/operation.rb
116
+ - lib/lolsoap/wsdl/operation_io.rb
116
117
  - lib/lolsoap/wsdl/type.rb
117
118
  - lib/lolsoap/wsdl_parser.rb
118
119
  - lolsoap.gemspec
@@ -147,19 +148,18 @@ require_paths:
147
148
  - lib
148
149
  required_ruby_version: !ruby/object:Gem::Requirement
149
150
  requirements:
150
- - - '>='
151
+ - - ">="
151
152
  - !ruby/object:Gem::Version
152
153
  version: '0'
153
154
  required_rubygems_version: !ruby/object:Gem::Requirement
154
155
  requirements:
155
- - - '>='
156
+ - - ">="
156
157
  - !ruby/object:Gem::Version
157
158
  version: '0'
158
159
  requirements: []
159
160
  rubyforge_project:
160
- rubygems_version: 2.1.9
161
+ rubygems_version: 2.2.2
161
162
  signing_key:
162
163
  specification_version: 4
163
164
  summary: A library for dealing with SOAP requests and responses.
164
165
  test_files: []
165
- has_rdoc: