lolsoap 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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: