savon 2.13.1 → 2.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -1
  3. data/lib/savon/builder.rb +4 -3
  4. data/lib/savon/model.rb +3 -3
  5. data/lib/savon/options.rb +1 -1
  6. data/lib/savon/response.rb +3 -3
  7. data/lib/savon/string_utils.rb +17 -0
  8. data/lib/savon/version.rb +1 -1
  9. data/lib/savon.rb +1 -0
  10. metadata +35 -81
  11. data/.gitignore +0 -16
  12. data/.yardopts +0 -6
  13. data/CONTRIBUTING.md +0 -42
  14. data/Gemfile +0 -8
  15. data/RELEASING.md +0 -10
  16. data/lib/savon/core_ext/string.rb +0 -30
  17. data/savon.gemspec +0 -47
  18. data/spec/fixtures/gzip/message.gz +0 -0
  19. data/spec/fixtures/response/another_soap_fault.xml +0 -14
  20. data/spec/fixtures/response/authentication.xml +0 -14
  21. data/spec/fixtures/response/empty_soap_fault.xml +0 -13
  22. data/spec/fixtures/response/f5.xml +0 -39
  23. data/spec/fixtures/response/header.xml +0 -13
  24. data/spec/fixtures/response/list.xml +0 -18
  25. data/spec/fixtures/response/multi_ref.xml +0 -39
  26. data/spec/fixtures/response/no_body.xml +0 -1
  27. data/spec/fixtures/response/soap_fault.xml +0 -8
  28. data/spec/fixtures/response/soap_fault12.xml +0 -18
  29. data/spec/fixtures/response/soap_fault_funky.xml +0 -8
  30. data/spec/fixtures/response/taxcloud.xml +0 -1
  31. data/spec/fixtures/ssl/client_cert.pem +0 -16
  32. data/spec/fixtures/ssl/client_encrypted_key.pem +0 -30
  33. data/spec/fixtures/ssl/client_encrypted_key_cert.pem +0 -24
  34. data/spec/fixtures/ssl/client_key.pem +0 -15
  35. data/spec/fixtures/wsdl/authentication.xml +0 -63
  36. data/spec/fixtures/wsdl/betfair.xml +0 -2981
  37. data/spec/fixtures/wsdl/brand.xml +0 -624
  38. data/spec/fixtures/wsdl/edialog.xml +0 -15416
  39. data/spec/fixtures/wsdl/elements_in_types.xml +0 -43
  40. data/spec/fixtures/wsdl/interhome.xml +0 -2137
  41. data/spec/fixtures/wsdl/lower_camel.xml +0 -52
  42. data/spec/fixtures/wsdl/multiple_namespaces.xml +0 -92
  43. data/spec/fixtures/wsdl/multiple_types.xml +0 -60
  44. data/spec/fixtures/wsdl/no_message_tag.xml +0 -1267
  45. data/spec/fixtures/wsdl/taxcloud.xml +0 -934
  46. data/spec/fixtures/wsdl/team_software.xml +0 -1
  47. data/spec/fixtures/wsdl/vies.xml +0 -176
  48. data/spec/fixtures/wsdl/wasmuth.xml +0 -153
  49. data/spec/integration/support/application.rb +0 -114
  50. data/spec/integration/support/server.rb +0 -85
  51. data/spec/integration/zipcode_example_spec.rb +0 -39
  52. data/spec/savon/builder_spec.rb +0 -138
  53. data/spec/savon/client_spec.rb +0 -272
  54. data/spec/savon/core_ext/string_spec.rb +0 -38
  55. data/spec/savon/features/message_tag_spec.rb +0 -62
  56. data/spec/savon/http_error_spec.rb +0 -57
  57. data/spec/savon/log_message_spec.rb +0 -51
  58. data/spec/savon/message_spec.rb +0 -61
  59. data/spec/savon/mock_spec.rb +0 -175
  60. data/spec/savon/model_spec.rb +0 -183
  61. data/spec/savon/multipart_request_spec.rb +0 -46
  62. data/spec/savon/observers_spec.rb +0 -93
  63. data/spec/savon/operation_spec.rb +0 -207
  64. data/spec/savon/options_spec.rb +0 -1154
  65. data/spec/savon/qualified_message_spec.rb +0 -102
  66. data/spec/savon/request_logger_spec.rb +0 -38
  67. data/spec/savon/request_spec.rb +0 -581
  68. data/spec/savon/response_spec.rb +0 -276
  69. data/spec/savon/soap_fault_spec.rb +0 -147
  70. data/spec/savon/softlayer_spec.rb +0 -42
  71. data/spec/spec_helper.rb +0 -31
  72. data/spec/support/adapters.rb +0 -49
  73. data/spec/support/endpoint.rb +0 -26
  74. data/spec/support/fixture.rb +0 -40
  75. data/spec/support/integration.rb +0 -10
  76. data/spec/support/stdout.rb +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2df838c106560592e518702a5dedbda21f19b7e6571fd3b481c2a2a4a22c5354
4
- data.tar.gz: ed5c9f5dddd65d6ed34ffe8837ded1b201b2ffc65c609e98e01aae57f8c27d05
3
+ metadata.gz: f9290bcf944e220b16f3273b19e85a8e0a7aaeb2d87d41dc21abbc339c515d7f
4
+ data.tar.gz: 291db78a5977bb23de3672367b9bba2a750f609f855aabac56fffdabafb07bf2
5
5
  SHA512:
6
- metadata.gz: ceb8a300b93498a4a90abc61b96dfa7e254877ab144bbe95d27c9e7fd5de3c9dcaace225e6affe3109c02f1695d225409abee74257a7cceca63e2747a61ffd84
7
- data.tar.gz: 9366f1e31be17b4e1fd4b333b32e64f406b35a8d01d3963908d62803fcc16804ca3393cb25c7d3f7bbcf24428019477dbe27f9c183ac672e5075ea94dffdff18
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
- prefixed_identifier = identifier
125
- prefixed_identifier = "xmlns:#{prefixed_identifier}" unless prefixed_identifier == 'xmlns'
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][message.snakecase.to_sym]
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.snakecase}(locals = {})
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.snakecase}(locals = {})
42
- self.class.#{operation.to_s.snakecase} locals
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| tag.snakecase.to_sym},
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,
@@ -54,8 +54,8 @@ module Savon
54
54
  result.kind_of?(Array) ? result.compact : [result].compact
55
55
  end
56
56
 
57
- def hash
58
- @hash ||= nori.parse(xml)
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(hash, 'Envelope')
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
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Savon
3
- VERSION = '2.13.1'
3
+ VERSION = '2.15.0'
4
4
  end
data/lib/savon.rb CHANGED
@@ -26,3 +26,4 @@ end
26
26
  require "savon/version"
27
27
  require "savon/client"
28
28
  require "savon/model"
29
+ require "savon/string_utils"
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.13.1
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: 2022-09-04 00:00:00.000000000 Z
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.4'
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.4'
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: '0'
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: '0'
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
- post_install_message:
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.3.7
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
@@ -1,16 +0,0 @@
1
- .rvmrc
2
- .byebug_history
3
- .DS_Store
4
- .yardoc
5
- doc
6
- rdox
7
- coverage
8
- tmp
9
- *.rbc
10
- *~
11
- *.gem
12
- .bundle
13
- .rspec
14
- Gemfile.lock
15
- bin/
16
- .rspec_status
data/.yardopts DELETED
@@ -1,6 +0,0 @@
1
- --markup markdown
2
- --markup-provider redcarpet
3
- -
4
- CHANGELOG.md
5
- LICENSE
6
- lib/**/*.rb
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
@@ -1,8 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- gem "httpclient", "~> 2.7.1"
6
-
7
- gem "simplecov", :require => false
8
- gem "net-smtp" if RUBY_VERSION >= "3.1.0"
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>