savon 2.13.1 → 2.15.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 +4 -4
- data/CHANGELOG.md +10 -1
- data/lib/savon/builder.rb +4 -3
- data/lib/savon/model.rb +3 -3
- data/lib/savon/options.rb +1 -1
- data/lib/savon/response.rb +3 -3
- data/lib/savon/string_utils.rb +17 -0
- data/lib/savon/version.rb +1 -1
- data/lib/savon.rb +1 -0
- metadata +35 -81
- data/.gitignore +0 -16
- data/.yardopts +0 -6
- data/CONTRIBUTING.md +0 -42
- data/Gemfile +0 -8
- data/RELEASING.md +0 -10
- data/lib/savon/core_ext/string.rb +0 -30
- data/savon.gemspec +0 -47
- data/spec/fixtures/gzip/message.gz +0 -0
- data/spec/fixtures/response/another_soap_fault.xml +0 -14
- data/spec/fixtures/response/authentication.xml +0 -14
- data/spec/fixtures/response/empty_soap_fault.xml +0 -13
- data/spec/fixtures/response/f5.xml +0 -39
- data/spec/fixtures/response/header.xml +0 -13
- data/spec/fixtures/response/list.xml +0 -18
- data/spec/fixtures/response/multi_ref.xml +0 -39
- data/spec/fixtures/response/no_body.xml +0 -1
- data/spec/fixtures/response/soap_fault.xml +0 -8
- data/spec/fixtures/response/soap_fault12.xml +0 -18
- data/spec/fixtures/response/soap_fault_funky.xml +0 -8
- data/spec/fixtures/response/taxcloud.xml +0 -1
- data/spec/fixtures/ssl/client_cert.pem +0 -16
- data/spec/fixtures/ssl/client_encrypted_key.pem +0 -30
- data/spec/fixtures/ssl/client_encrypted_key_cert.pem +0 -24
- data/spec/fixtures/ssl/client_key.pem +0 -15
- data/spec/fixtures/wsdl/authentication.xml +0 -63
- data/spec/fixtures/wsdl/betfair.xml +0 -2981
- data/spec/fixtures/wsdl/brand.xml +0 -624
- data/spec/fixtures/wsdl/edialog.xml +0 -15416
- data/spec/fixtures/wsdl/elements_in_types.xml +0 -43
- data/spec/fixtures/wsdl/interhome.xml +0 -2137
- data/spec/fixtures/wsdl/lower_camel.xml +0 -52
- data/spec/fixtures/wsdl/multiple_namespaces.xml +0 -92
- data/spec/fixtures/wsdl/multiple_types.xml +0 -60
- data/spec/fixtures/wsdl/no_message_tag.xml +0 -1267
- data/spec/fixtures/wsdl/taxcloud.xml +0 -934
- data/spec/fixtures/wsdl/team_software.xml +0 -1
- data/spec/fixtures/wsdl/vies.xml +0 -176
- data/spec/fixtures/wsdl/wasmuth.xml +0 -153
- data/spec/integration/support/application.rb +0 -114
- data/spec/integration/support/server.rb +0 -85
- data/spec/integration/zipcode_example_spec.rb +0 -39
- data/spec/savon/builder_spec.rb +0 -138
- data/spec/savon/client_spec.rb +0 -272
- data/spec/savon/core_ext/string_spec.rb +0 -38
- data/spec/savon/features/message_tag_spec.rb +0 -62
- data/spec/savon/http_error_spec.rb +0 -57
- data/spec/savon/log_message_spec.rb +0 -51
- data/spec/savon/message_spec.rb +0 -61
- data/spec/savon/mock_spec.rb +0 -175
- data/spec/savon/model_spec.rb +0 -183
- data/spec/savon/multipart_request_spec.rb +0 -46
- data/spec/savon/observers_spec.rb +0 -93
- data/spec/savon/operation_spec.rb +0 -207
- data/spec/savon/options_spec.rb +0 -1154
- data/spec/savon/qualified_message_spec.rb +0 -102
- data/spec/savon/request_logger_spec.rb +0 -38
- data/spec/savon/request_spec.rb +0 -581
- data/spec/savon/response_spec.rb +0 -276
- data/spec/savon/soap_fault_spec.rb +0 -147
- data/spec/savon/softlayer_spec.rb +0 -42
- data/spec/spec_helper.rb +0 -31
- data/spec/support/adapters.rb +0 -49
- data/spec/support/endpoint.rb +0 -26
- data/spec/support/fixture.rb +0 -40
- data/spec/support/integration.rb +0 -10
- data/spec/support/stdout.rb +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9290bcf944e220b16f3273b19e85a8e0a7aaeb2d87d41dc21abbc339c515d7f
|
4
|
+
data.tar.gz: 291db78a5977bb23de3672367b9bba2a750f609f855aabac56fffdabafb07bf2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0f201223113366550455242e6ecafb265596150d695f3c406070b4d233b7be36eb5a70e2cdd49f9bf16572369b9a5f2fa4669470308684d83e0fd88e1fb2505
|
7
|
+
data.tar.gz: 9aabf5fc3f73585a8eb5bce033b028bab32530ef126b02435fb83ee441f2d09f4a20b05972d6a915474408a88335a9ba557b58c3c27ae58c397f881bc3541378
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,18 @@
|
|
1
1
|
# Savon changelog
|
2
2
|
|
3
3
|
## Unreleased
|
4
|
-
|
5
4
|
* Add your PR changelog line here
|
6
5
|
|
6
|
+
## 2.15.0 (2024-02-10)
|
7
|
+
|
8
|
+
* Drop support for ruby 2.7 and below. Added Ruby 3.2 and 3.3 to test matrix.
|
9
|
+
|
10
|
+
## 2.14.0 (2022-12-16)
|
11
|
+
|
12
|
+
* BC BREAKING Fix: [#985](https://github.com/savonrb/savon/pull/985) Renamed `Savon::Response#hash` to `Savon::Response#full_hash`
|
13
|
+
* BC BREAKING Fix: [#988](https://github.com/savonrb/savon/pull/988) Savon no longer monkeypatches `String#snakecase`
|
14
|
+
* Fix: [#989](https://github.com/savonrb/savon/pull/989) Do not include xmlns from WSDL, which breaks some servers
|
15
|
+
|
7
16
|
## 2.13.1 (2022-09-04)
|
8
17
|
|
9
18
|
* Fix: [#977](https://github.com/savonrb/savon/pull/977) Prevent "xmlns:xmlns" namespace but allow "xmlns" namespace.
|
data/lib/savon/builder.rb
CHANGED
@@ -121,8 +121,9 @@ module Savon
|
|
121
121
|
|
122
122
|
if @wsdl&.document
|
123
123
|
@wsdl.parser.namespaces.each do |identifier, path|
|
124
|
-
|
125
|
-
|
124
|
+
next if identifier == 'xmlns' # Do not include xmlns namespace as this causes issues for some servers (https://github.com/savonrb/savon/issues/986)
|
125
|
+
|
126
|
+
prefixed_identifier = "xmlns:#{identifier}"
|
126
127
|
|
127
128
|
next if namespaces.key?(prefixed_identifier)
|
128
129
|
|
@@ -163,7 +164,7 @@ module Savon
|
|
163
164
|
message_tag = serialized_message_tag[1]
|
164
165
|
@wsdl.soap_input(@operation_name.to_sym)[message_tag].each_pair do |message, type|
|
165
166
|
break if @locals[:message].nil?
|
166
|
-
message_locals = @locals[:message][
|
167
|
+
message_locals = @locals[:message][StringUtils.snakecase(message).to_sym]
|
167
168
|
message_content = Message.new(message_tag, namespace_identifier, @types, @used_namespaces, message_locals, :unqualified, @globals[:convert_request_keys_to], @globals[:unwrap]).to_s
|
168
169
|
messages += "<#{message} xsi:type=\"#{type.join(':')}\">#{message_content}</#{message}>"
|
169
170
|
end
|
data/lib/savon/model.rb
CHANGED
@@ -29,7 +29,7 @@ module Savon
|
|
29
29
|
# Defines a class-level SOAP operation.
|
30
30
|
def define_class_operation(operation)
|
31
31
|
class_operation_module.module_eval %{
|
32
|
-
def #{operation.to_s
|
32
|
+
def #{StringUtils.snakecase(operation.to_s)}(locals = {})
|
33
33
|
client.call #{operation.inspect}, locals
|
34
34
|
end
|
35
35
|
}
|
@@ -38,8 +38,8 @@ module Savon
|
|
38
38
|
# Defines an instance-level SOAP operation.
|
39
39
|
def define_instance_operation(operation)
|
40
40
|
instance_operation_module.module_eval %{
|
41
|
-
def #{operation.to_s
|
42
|
-
self.class.#{operation.to_s
|
41
|
+
def #{StringUtils.snakecase(operation.to_s)}(locals = {})
|
42
|
+
self.class.#{StringUtils.snakecase(operation.to_s)} locals
|
43
43
|
end
|
44
44
|
}
|
45
45
|
end
|
data/lib/savon/options.rb
CHANGED
@@ -85,7 +85,7 @@ module Savon
|
|
85
85
|
:raise_errors => true,
|
86
86
|
:strip_namespaces => true,
|
87
87
|
:delete_namespace_attributes => false,
|
88
|
-
:convert_response_tags_to => lambda { |tag|
|
88
|
+
:convert_response_tags_to => lambda { |tag| StringUtils.snakecase(tag).to_sym},
|
89
89
|
:convert_attributes_to => lambda { |k,v| [k,v] },
|
90
90
|
:multipart => false,
|
91
91
|
:adapter => nil,
|
data/lib/savon/response.rb
CHANGED
@@ -54,8 +54,8 @@ module Savon
|
|
54
54
|
result.kind_of?(Array) ? result.compact : [result].compact
|
55
55
|
end
|
56
56
|
|
57
|
-
def
|
58
|
-
@
|
57
|
+
def full_hash
|
58
|
+
@full_hash ||= nori.parse(xml)
|
59
59
|
end
|
60
60
|
|
61
61
|
def xml
|
@@ -79,7 +79,7 @@ module Savon
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def find(*path)
|
82
|
-
envelope = nori.find(
|
82
|
+
envelope = nori.find(full_hash, 'Envelope')
|
83
83
|
raise_invalid_response_error! unless envelope.is_a?(Hash)
|
84
84
|
|
85
85
|
nori.find(envelope, *path)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Savon
|
4
|
+
module StringUtils
|
5
|
+
def self.snakecase(inputstring)
|
6
|
+
str = inputstring.dup
|
7
|
+
str.gsub! /::/, '/'
|
8
|
+
str.gsub! /([A-Z]+)([A-Z][a-z])/, '\1_\2'
|
9
|
+
str.gsub! /([a-z\d])([A-Z])/, '\1_\2'
|
10
|
+
str.tr! ".", "_"
|
11
|
+
str.tr! "-", "_"
|
12
|
+
str.downcase!
|
13
|
+
str
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
data/lib/savon/version.rb
CHANGED
data/lib/savon.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: savon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Harrington
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nori
|
@@ -31,6 +31,9 @@ dependencies:
|
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.4.5
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '5'
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -38,20 +41,29 @@ dependencies:
|
|
38
41
|
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: 2.4.5
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '5'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: wasabi
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
|
-
- - "
|
51
|
+
- - ">="
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
53
|
+
version: '3.7'
|
54
|
+
- - "<"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '6'
|
48
57
|
type: :runtime
|
49
58
|
prerelease: false
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
51
60
|
requirements:
|
52
|
-
- - "
|
61
|
+
- - ">="
|
53
62
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
63
|
+
version: '3.7'
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '6'
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
68
|
name: akami
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,16 +138,16 @@ dependencies:
|
|
126
138
|
name: rack
|
127
139
|
requirement: !ruby/object:Gem::Requirement
|
128
140
|
requirements:
|
129
|
-
- - "
|
141
|
+
- - "<"
|
130
142
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
143
|
+
version: '4'
|
132
144
|
type: :development
|
133
145
|
prerelease: false
|
134
146
|
version_requirements: !ruby/object:Gem::Requirement
|
135
147
|
requirements:
|
136
|
-
- - "
|
148
|
+
- - "<"
|
137
149
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
150
|
+
version: '4'
|
139
151
|
- !ruby/object:Gem::Dependency
|
140
152
|
name: puma
|
141
153
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,6 +155,9 @@ dependencies:
|
|
143
155
|
- - ">="
|
144
156
|
- !ruby/object:Gem::Version
|
145
157
|
version: 4.3.8
|
158
|
+
- - "<"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '7'
|
146
161
|
type: :development
|
147
162
|
prerelease: false
|
148
163
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -150,6 +165,9 @@ dependencies:
|
|
150
165
|
- - ">="
|
151
166
|
- !ruby/object:Gem::Version
|
152
167
|
version: 4.3.8
|
168
|
+
- - "<"
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '7'
|
153
171
|
- !ruby/object:Gem::Dependency
|
154
172
|
name: byebug
|
155
173
|
requirement: !ruby/object:Gem::Requirement
|
@@ -226,20 +244,14 @@ executables: []
|
|
226
244
|
extensions: []
|
227
245
|
extra_rdoc_files: []
|
228
246
|
files:
|
229
|
-
- ".gitignore"
|
230
|
-
- ".yardopts"
|
231
247
|
- CHANGELOG.md
|
232
|
-
- CONTRIBUTING.md
|
233
|
-
- Gemfile
|
234
248
|
- LICENSE
|
235
249
|
- README.md
|
236
|
-
- RELEASING.md
|
237
250
|
- Rakefile
|
238
251
|
- lib/savon.rb
|
239
252
|
- lib/savon/block_interface.rb
|
240
253
|
- lib/savon/builder.rb
|
241
254
|
- lib/savon/client.rb
|
242
|
-
- lib/savon/core_ext/string.rb
|
243
255
|
- lib/savon/header.rb
|
244
256
|
- lib/savon/http_error.rb
|
245
257
|
- lib/savon/log_message.rb
|
@@ -255,72 +267,14 @@ files:
|
|
255
267
|
- lib/savon/request_logger.rb
|
256
268
|
- lib/savon/response.rb
|
257
269
|
- lib/savon/soap_fault.rb
|
270
|
+
- lib/savon/string_utils.rb
|
258
271
|
- lib/savon/version.rb
|
259
|
-
- savon.gemspec
|
260
|
-
- spec/fixtures/gzip/message.gz
|
261
|
-
- spec/fixtures/response/another_soap_fault.xml
|
262
|
-
- spec/fixtures/response/authentication.xml
|
263
|
-
- spec/fixtures/response/empty_soap_fault.xml
|
264
|
-
- spec/fixtures/response/f5.xml
|
265
|
-
- spec/fixtures/response/header.xml
|
266
|
-
- spec/fixtures/response/list.xml
|
267
|
-
- spec/fixtures/response/multi_ref.xml
|
268
|
-
- spec/fixtures/response/no_body.xml
|
269
|
-
- spec/fixtures/response/soap_fault.xml
|
270
|
-
- spec/fixtures/response/soap_fault12.xml
|
271
|
-
- spec/fixtures/response/soap_fault_funky.xml
|
272
|
-
- spec/fixtures/response/taxcloud.xml
|
273
|
-
- spec/fixtures/ssl/client_cert.pem
|
274
|
-
- spec/fixtures/ssl/client_encrypted_key.pem
|
275
|
-
- spec/fixtures/ssl/client_encrypted_key_cert.pem
|
276
|
-
- spec/fixtures/ssl/client_key.pem
|
277
|
-
- spec/fixtures/wsdl/authentication.xml
|
278
|
-
- spec/fixtures/wsdl/betfair.xml
|
279
|
-
- spec/fixtures/wsdl/brand.xml
|
280
|
-
- spec/fixtures/wsdl/edialog.xml
|
281
|
-
- spec/fixtures/wsdl/elements_in_types.xml
|
282
|
-
- spec/fixtures/wsdl/interhome.xml
|
283
|
-
- spec/fixtures/wsdl/lower_camel.xml
|
284
|
-
- spec/fixtures/wsdl/multiple_namespaces.xml
|
285
|
-
- spec/fixtures/wsdl/multiple_types.xml
|
286
|
-
- spec/fixtures/wsdl/no_message_tag.xml
|
287
|
-
- spec/fixtures/wsdl/taxcloud.xml
|
288
|
-
- spec/fixtures/wsdl/team_software.xml
|
289
|
-
- spec/fixtures/wsdl/vies.xml
|
290
|
-
- spec/fixtures/wsdl/wasmuth.xml
|
291
|
-
- spec/integration/support/application.rb
|
292
|
-
- spec/integration/support/server.rb
|
293
|
-
- spec/integration/zipcode_example_spec.rb
|
294
|
-
- spec/savon/builder_spec.rb
|
295
|
-
- spec/savon/client_spec.rb
|
296
|
-
- spec/savon/core_ext/string_spec.rb
|
297
|
-
- spec/savon/features/message_tag_spec.rb
|
298
|
-
- spec/savon/http_error_spec.rb
|
299
|
-
- spec/savon/log_message_spec.rb
|
300
|
-
- spec/savon/message_spec.rb
|
301
|
-
- spec/savon/mock_spec.rb
|
302
|
-
- spec/savon/model_spec.rb
|
303
|
-
- spec/savon/multipart_request_spec.rb
|
304
|
-
- spec/savon/observers_spec.rb
|
305
|
-
- spec/savon/operation_spec.rb
|
306
|
-
- spec/savon/options_spec.rb
|
307
|
-
- spec/savon/qualified_message_spec.rb
|
308
|
-
- spec/savon/request_logger_spec.rb
|
309
|
-
- spec/savon/request_spec.rb
|
310
|
-
- spec/savon/response_spec.rb
|
311
|
-
- spec/savon/soap_fault_spec.rb
|
312
|
-
- spec/savon/softlayer_spec.rb
|
313
|
-
- spec/spec_helper.rb
|
314
|
-
- spec/support/adapters.rb
|
315
|
-
- spec/support/endpoint.rb
|
316
|
-
- spec/support/fixture.rb
|
317
|
-
- spec/support/integration.rb
|
318
|
-
- spec/support/stdout.rb
|
319
272
|
homepage: http://savonrb.com
|
320
273
|
licenses:
|
321
274
|
- MIT
|
322
|
-
metadata:
|
323
|
-
|
275
|
+
metadata:
|
276
|
+
rubygems_mfa_required: 'true'
|
277
|
+
post_install_message:
|
324
278
|
rdoc_options: []
|
325
279
|
require_paths:
|
326
280
|
- lib
|
@@ -335,8 +289,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
335
289
|
- !ruby/object:Gem::Version
|
336
290
|
version: '0'
|
337
291
|
requirements: []
|
338
|
-
rubygems_version: 3.
|
339
|
-
signing_key:
|
292
|
+
rubygems_version: 3.5.6
|
293
|
+
signing_key:
|
340
294
|
specification_version: 4
|
341
295
|
summary: Heavy metal SOAP client
|
342
296
|
test_files: []
|
data/.gitignore
DELETED
data/.yardopts
DELETED
data/CONTRIBUTING.md
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
# Contribution Guide
|
2
|
-
|
3
|
-
This page describes how to contribute changes to Savon.
|
4
|
-
|
5
|
-
Please do not create a pull request without reading this guide first.
|
6
|
-
Make sure to read the documentation for your version and ask questions on [Stack Overflow](https://stackoverflow.com/questions/ask?tags=savon).
|
7
|
-
|
8
|
-
**Bug fixes**
|
9
|
-
|
10
|
-
If you really think you found a bug, please make sure to add as much information as possible
|
11
|
-
to the ticket. You're a developer, we are developers and you know we need tests to reproduce
|
12
|
-
problems and make sure they don't come back.
|
13
|
-
|
14
|
-
So if you can reproduce your problem in a spec, that would be awesome! If you can't, please
|
15
|
-
let us know how we can make this easier for you. Also, provide code and the WSDL of the
|
16
|
-
service you're working with, so others can try to come up with a spec for your problem.
|
17
|
-
|
18
|
-
After we have a failing spec, it needs to be fixed. Make sure your new spec is the
|
19
|
-
only failing one under the `spec` directory. CI only runs the "unit tests" at `spec/savon`,
|
20
|
-
but Savon actually has some additional specs at `spec/integration`, which you need to run locally
|
21
|
-
to make sure the integration with real-world services still works.
|
22
|
-
|
23
|
-
These specs are not run by CI, because the services are not guaranteed to work all the time.
|
24
|
-
|
25
|
-
Please follow this workflow for Pull Requests:
|
26
|
-
|
27
|
-
* [Fork the project](https://help.github.com/articles/fork-a-repo)
|
28
|
-
* Create a feature branch and make your bug fix
|
29
|
-
* Add tests for it!
|
30
|
-
* [Send a Pull Request](https://help.github.com/articles/using-pull-requests)
|
31
|
-
* [Check that your Pull Request passes the build](https://github.com/savonrb/savon/actions?query=workflow%3ARuby)
|
32
|
-
|
33
|
-
**Improvements and feature requests**
|
34
|
-
|
35
|
-
If you have an idea for an improvement or a new feature, please feel free to
|
36
|
-
[create a new Issue](https://github.com/savonrb/savon/issues/new/choose) and describe your idea
|
37
|
-
so that other people can give their insights and opinions. This is also important to avoid
|
38
|
-
duplicate work.
|
39
|
-
|
40
|
-
Pull Requests and Issues on GitHub are meant to be used to discuss problems and ideas,
|
41
|
-
so please make sure to participate and follow up on questions. In case no one comments
|
42
|
-
on your ticket, please keep updating the ticket with additional information.
|
data/Gemfile
DELETED
data/RELEASING.md
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
_You'll need write access to the repository and the [rubygems](https://rubygems.org/gems/savon) project to create a release._
|
2
|
-
|
3
|
-
1. On master, edit [CHANGELOG.md](https://github.com/savonrb/savon/blob/master/CHANGELOG.md) to finalize the new version number and list of all changes.
|
4
|
-
2. Bump [version.rb](https://github.com/savonrb/savon/blob/master/lib/savon/version.rb) to the version you picked in previous step.
|
5
|
-
3. **Final check**: make sure all tests are green, and that `gem build savon.gemspec` on master succeeds. If not, merge any fixes back to master and go to step 1.
|
6
|
-
4. [Draft a new release](https://github.com/savonrb/savon/releases/new) on Github.
|
7
|
-
- Create a tag matching the version in previous step - e.g. `v2.12.1` - prepend the version number with a "v".
|
8
|
-
- Use `v[version]` for the release title, and copy the changelog into the release notes.
|
9
|
-
- Click "Publish release" to commit the tag on Github.
|
10
|
-
5. `git checkout` the newly commited tag, then `gem build savon.gemspec` to build the gem package locally. Use `gem push savon-[version].gem` to publish to rubygems.
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Savon
|
4
|
-
module CoreExt
|
5
|
-
module String
|
6
|
-
|
7
|
-
def self.included(base)
|
8
|
-
unless "savon".respond_to?(:snakecase)
|
9
|
-
base.send(:include, Extension)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
module Extension
|
14
|
-
def snakecase
|
15
|
-
str = dup
|
16
|
-
str.gsub! /::/, '/'
|
17
|
-
str.gsub! /([A-Z]+)([A-Z][a-z])/, '\1_\2'
|
18
|
-
str.gsub! /([a-z\d])([A-Z])/, '\1_\2'
|
19
|
-
str.tr! ".", "_"
|
20
|
-
str.tr! "-", "_"
|
21
|
-
str.downcase!
|
22
|
-
str
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
String.send :include, Savon::CoreExt::String
|
data/savon.gemspec
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
3
|
-
$:.unshift lib unless $:.include? lib
|
4
|
-
|
5
|
-
require "savon/version"
|
6
|
-
|
7
|
-
Gem::Specification.new do |s|
|
8
|
-
s.name = "savon"
|
9
|
-
s.version = Savon::VERSION
|
10
|
-
s.authors = "Daniel Harrington"
|
11
|
-
s.email = "me@rubiii.com"
|
12
|
-
s.homepage = "http://savonrb.com"
|
13
|
-
s.summary = "Heavy metal SOAP client"
|
14
|
-
s.description = s.summary
|
15
|
-
s.required_ruby_version = '>= 2.7.0'
|
16
|
-
|
17
|
-
s.license = 'MIT'
|
18
|
-
|
19
|
-
s.add_dependency "nori", "~> 2.4"
|
20
|
-
s.add_dependency "httpi", ">= 2.4.5"
|
21
|
-
s.add_dependency "wasabi", "~> 3.4"
|
22
|
-
s.add_dependency "akami", "~> 1.2"
|
23
|
-
s.add_dependency "gyoku", "~> 1.2"
|
24
|
-
s.add_dependency "builder", ">= 2.1.2"
|
25
|
-
s.add_dependency "nokogiri", ">= 1.8.1"
|
26
|
-
s.add_dependency "mail", "~> 2.5"
|
27
|
-
|
28
|
-
s.add_development_dependency "rack"
|
29
|
-
s.add_development_dependency "puma", ">= 4.3.8"
|
30
|
-
|
31
|
-
s.add_development_dependency "byebug"
|
32
|
-
s.add_development_dependency "rake", ">= 12.3.3"
|
33
|
-
s.add_development_dependency "rspec", "~> 3.9"
|
34
|
-
s.add_development_dependency "mocha", "~> 0.14"
|
35
|
-
s.add_development_dependency "json", ">= 2.3.0"
|
36
|
-
|
37
|
-
ignores = File.readlines(".gitignore").grep(/\S+/).map(&:chomp)
|
38
|
-
dotfiles = %w[.gitignore .yardopts]
|
39
|
-
|
40
|
-
all_files_without_ignores = Dir["**/*"].reject { |f|
|
41
|
-
File.directory?(f) || ignores.any? { |i| File.fnmatch(i, f) }
|
42
|
-
}
|
43
|
-
|
44
|
-
s.files = (all_files_without_ignores + dotfiles).sort
|
45
|
-
|
46
|
-
s.require_path = "lib"
|
47
|
-
end
|
Binary file
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
|
2
|
-
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
|
3
|
-
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
|
4
|
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
5
|
-
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
6
|
-
<SOAP-ENV:Body>
|
7
|
-
<SOAP-ENV:Fault>
|
8
|
-
<faultcode>ERR_NO_SESSION</faultcode>
|
9
|
-
<faultfactor>doGetItemsInfo - Wrong session</faultfactor>
|
10
|
-
<faultstring>Wrong session message</faultstring>
|
11
|
-
<detail><soapVal><ERRNO xsi:type="xsd:string">80:1289245853:55</ERRNO></soapVal></detail>
|
12
|
-
</SOAP-ENV:Fault>
|
13
|
-
</SOAP-ENV:Body>
|
14
|
-
</SOAP-ENV:Envelope>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
2
|
-
<soap:Body>
|
3
|
-
<ns2:authenticateResponse xmlns:ns2="http://v1_0.ws.user.example.com">
|
4
|
-
<return>
|
5
|
-
<authenticationValue>
|
6
|
-
<token>a68d1d6379b62ff339a0e0c69ed4d9cf</token>
|
7
|
-
<tokenHash>AAAJxA;cIedoT;mY10ExZwG6JuKgp2OYKxow==</tokenHash>
|
8
|
-
<client>radclient</client>
|
9
|
-
</authenticationValue>
|
10
|
-
<success>true</success>
|
11
|
-
</return>
|
12
|
-
</ns2:authenticateResponse>
|
13
|
-
</soap:Body>
|
14
|
-
</soap:Envelope>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
|
2
|
-
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
|
3
|
-
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
|
4
|
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
5
|
-
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
6
|
-
<SOAP-ENV:Body>
|
7
|
-
<SOAP-ENV:Fault>
|
8
|
-
<faultcode/>
|
9
|
-
<faultstring/>
|
10
|
-
<detail><soapVal><ERRNO xsi:type="xsd:string">80:1289245853:55</ERRNO></soapVal></detail>
|
11
|
-
</SOAP-ENV:Fault>
|
12
|
-
</SOAP-ENV:Body>
|
13
|
-
</SOAP-ENV:Envelope>
|
@@ -1,39 +0,0 @@
|
|
1
|
-
<E:Envelope
|
2
|
-
xmlns:E="http://schemas.xmlsoap.org/soap/envelope/"
|
3
|
-
xmlns:A="http://schemas.xmlsoap.org/soap/encoding/"
|
4
|
-
xmlns:s="http://www.w3.org/2001/XMLSchema-instance"
|
5
|
-
xmlns:y="http://www.w3.org/2001/XMLSchema"
|
6
|
-
xmlns:iControl="urn:iControl"
|
7
|
-
E:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
8
|
-
<E:Body>
|
9
|
-
<m:get_agent_listen_addressResponse
|
10
|
-
xmlns:m="urn:iControl:Management/SNMPConfiguration">
|
11
|
-
<return
|
12
|
-
s:type="A:Array"
|
13
|
-
A:arrayType="iControl:Management.SNMPConfiguration.AgentListenAddressPort[2]">
|
14
|
-
<item>
|
15
|
-
<transport
|
16
|
-
s:type="iControl:Management.SNMPConfiguration.TransportType">TRANSPORT_TCP6</transport>
|
17
|
-
<ipport
|
18
|
-
s:type="iControl:Common.IPPortDefinition">
|
19
|
-
<address
|
20
|
-
s:type="y:string"></address>
|
21
|
-
<port
|
22
|
-
s:type="y:long">161</port>
|
23
|
-
</ipport>
|
24
|
-
</item>
|
25
|
-
<item>
|
26
|
-
<transport
|
27
|
-
s:type="iControl:Management.SNMPConfiguration.TransportType">TRANSPORT_UDP6</transport>
|
28
|
-
<ipport
|
29
|
-
s:type="iControl:Common.IPPortDefinition">
|
30
|
-
<address
|
31
|
-
s:type="y:string"></address>
|
32
|
-
<port
|
33
|
-
s:type="y:long">161</port>
|
34
|
-
</ipport>
|
35
|
-
</item>
|
36
|
-
</return>
|
37
|
-
</m:get_agent_listen_addressResponse>
|
38
|
-
</E:Body>
|
39
|
-
</E:Envelope>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
-
<soap:Header xmlns="http://webservices.somewhere.com/definitions">
|
4
|
-
<SessionNumber>ABCD1234</SessionNumber>
|
5
|
-
</soap:Header>
|
6
|
-
<soap:Body>
|
7
|
-
<AuthenticateReply xmlns="http://xml.somewhere.com/ABCD">
|
8
|
-
<processStatus>
|
9
|
-
<statusCode>P</statusCode>
|
10
|
-
</processStatus>
|
11
|
-
</AuthenticateReply>
|
12
|
-
</soap:Body>
|
13
|
-
</soap:Envelope>
|
@@ -1,18 +0,0 @@
|
|
1
|
-
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
2
|
-
<soapenv:Body>
|
3
|
-
<MultiNamespacedEntryResponse xmlns="http://www.example.com/BusinessRulesEngine/xsd">
|
4
|
-
<history>
|
5
|
-
<ns10:case xmlns:ns10="http://www.example.com/Common/xsd">
|
6
|
-
<ns10:logTime>2010-09-21T18:22:01.558+10:00</ns10:logTime>
|
7
|
-
<ns10:logType>Notes Log</ns10:logType>
|
8
|
-
<ns10:logText>test</ns10:logText>
|
9
|
-
</ns10:case>
|
10
|
-
<ns11:case xmlns:ns11="http://www.example.com/Common/xsd">
|
11
|
-
<ns11:logTime>2010-09-21T18:22:07.038+10:00</ns11:logTime>
|
12
|
-
<ns11:logType>Notes Log</ns11:logType>
|
13
|
-
<ns11:logText>another test</ns11:logText>
|
14
|
-
</ns11:case>
|
15
|
-
</history>
|
16
|
-
</MultiNamespacedEntryResponse>
|
17
|
-
</soapenv:Body>
|
18
|
-
</soapenv:Envelope>
|