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