wasabi 3.8.0 → 4.0.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
  SHA256:
3
- metadata.gz: 2cb7ba7548da2251d1886b1187abb9b1239b0a975e8b681378435f2c3b953acb
4
- data.tar.gz: 7d2f15a8c77f11f1141003e291d099d0196f09640f6af1d97798c16f68b40924
3
+ metadata.gz: cd00d9ef38f5862944963ce619dfccab4f9a493c13b991d5f353da00961f8f15
4
+ data.tar.gz: 05cbb07bdd93ef4ca1c9799fc7159ab800033c02bc72bead3674c96a0be9b1b4
5
5
  SHA512:
6
- metadata.gz: 99e99287b5ad3206b11daf4edd7d475b59c2cb9c45495112d09a4419d74a022240d7f96b90821c00477ec4677267713101bcf292326a609e52795fbd9d09b471
7
- data.tar.gz: 169c5f6b2ee393599b4d0e602c3db76f34b8355e93b85d6ac86154257f337ef624323492dfaaa68599c8f3bcaa4079ea409b80d3665efe6663a00a0243253d24
6
+ metadata.gz: b29cddca0c79981e0b1f06e808752dddef2916ee9bc9a489be5f4170d53c2653743ab334e13deb4fa69f59668246af0f51af1dbf2a7ec4590b5df8026308998e
7
+ data.tar.gz: ba51e137a4d98ad2e659331b95fafec4e815d1857a61b4ec523d2ca5e26ea9bfefea4c00d2acd0f979722789bff22547961bfcbea3b1f042a4408c5bbcf082a4
data/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@
4
4
 
5
5
  - _Your new line here. Mind the style of prefix used in the rest of the document._
6
6
 
7
+ ## 4.0.0 (2023-03-27)
8
+
9
+ - Formally drop support for unsupported rubies (2.6 and below)
10
+ - Parse Input/Output When Operation Style is Document ([#114](https://github.com/savonrb/wasabi/pull/114))
11
+
7
12
  ## 3.8.0 (2022-10-01)
8
13
 
9
14
  - Change: Update HTTPI to 3.0 to remove the socksify dependency. ([savonrb/httpi#225](https://github.com/savonrb/httpi/pull/225))
@@ -23,7 +28,7 @@
23
28
 
24
29
  - Add: Support RPC-encoded WSDL ([#63](https://github.com/savonrb/wasabi/pull/63), [@fernandes][])
25
30
  - Fix: Depend on [addressable](https://github.com/sporkmonger/addressable), for unescape to avoid a Ruby warning ([#81](https://github.com/savonrb/wasabi/pull/81) , [@chaymaeBZ][], [@bvicenzo][])
26
- - Fix: [#59](https://github.com/savonrb/wasabi/issue/59) Turn `String` monkeypatches into `Wasabi` class methods ([@tjarratt][]) (released this version)
31
+ - Fix: [#59](https://github.com/savonrb/wasabi/pull/59) Turn `String` monkeypatches into `Wasabi` class methods ([@tjarratt][]) (released this version)
27
32
  - Change: Reduced size of gem by focusing the files list ([#89](https://github.com/savonrb/wasabi/pull/89), [@utkarsh2102][])
28
33
  - Remove: No longer tested on Rubinius
29
34
 
@@ -31,99 +36,99 @@
31
36
 
32
37
  NB: This version was never released to RubyGems.org.
33
38
 
34
- * Fix: [#59](https://github.com/savonrb/wasabi/issue/59) Stop monkey patching the String class to provide #snakecase
39
+ - Fix: [#59](https://github.com/savonrb/wasabi/pull/59) Stop monkey patching the String class to provide #snakecase
35
40
 
36
41
  ## 3.5.0 (2015-03-31)
37
42
 
38
- * Formally drop support for ruby 1.8.7
43
+ - Formally drop support for ruby 1.8.7
39
44
 
40
45
  ## 3.4.0 (2015-03-02)
41
46
 
42
- * Fix: [#634](https://github.com/savonrb/savon/issues/634) Reverts PR #46, generates *most* operation names correctly.
47
+ - Fix: [#634](https://github.com/savonrb/savon/issues/634) Reverts PR #46, generates *most* operation names correctly.
43
48
 
44
49
  ## 3.3.1 (2014-09-25)
45
50
 
46
- * Fix: [#48](https://github.com/savonrb/wasabi/issues/48) Remove dependency on mime-type gem
51
+ - Fix: [#48](https://github.com/savonrb/wasabi/issues/48) Remove dependency on mime-type gem
47
52
 
48
53
  ## 3.3.0 (2014-05-03)
49
- * Feature: [#44](https://github.com/savonrb/wasabi/pull/44) adds a feature to specify the HTTPI adapter you'd like to use.
54
+ - Feature: [#44](https://github.com/savonrb/wasabi/pull/44) adds a feature to specify the HTTPI adapter you'd like to use.
50
55
 
51
56
  ## 3.2.3 (2013-12-16)
52
- * Fix [#39](https://github.com/savonrb/wasabi/pull/39) fixes new regression in operation names. Huge thank you to #leoping for investigating this and issuing a pull request.
57
+ - Fix [#39](https://github.com/savonrb/wasabi/pull/39) fixes new regression in operation names. Huge thank you to #leoping for investigating this and issuing a pull request.
53
58
 
54
59
  ## 3.2.2 (2013-12-09)
55
60
 
56
- * Fix: [#32](https://github.com/savonrb/wasabi/issues/32) fixes a regression in operation names that was adversely affecting Savon: https://github.com/savonrb/savon/issues/520
61
+ - Fix: [#32](https://github.com/savonrb/wasabi/issues/32) fixes a regression in operation names that was adversely affecting Savon: https://github.com/savonrb/savon/issues/520
57
62
 
58
63
  ## 3.2.1 (2013-12-05)
59
64
 
60
- * Feature: Drops requirement for Nokogiri <= 1.6 for modern rubies. This was in place for ruby 1.8 but since support for that is going away, we shouldn't prevent users from using newer versions of Nokogiri.
65
+ - Feature: Drops requirement for Nokogiri <= 1.6 for modern rubies. This was in place for ruby 1.8 but since support for that is going away, we shouldn't prevent users from using newer versions of Nokogiri.
61
66
 
62
67
  ## 3.2.0 (2013-07-26)
63
68
 
64
- * Feature: [#20](https://github.com/savonrb/wasabi/issues/20) Limited support for listing an
69
+ - Feature: [#20](https://github.com/savonrb/wasabi/issues/20) Limited support for listing an
65
70
  operation's parameters. Please note that if your WSDL defines imports, this method might
66
71
  not return all types.
67
72
 
68
- * Improvement: [#7](https://github.com/savonrb/wasabi/issues/7) Major speed improvements.
73
+ - Improvement: [#7](https://github.com/savonrb/wasabi/issues/7) Major speed improvements.
69
74
 
70
- * Improvement: [#16](https://github.com/savonrb/wasabi/issues/16) Various improvements regarding
75
+ - Improvement: [#16](https://github.com/savonrb/wasabi/issues/16) Various improvements regarding
71
76
  element order and type information.
72
77
 
73
- * Fix: [#25](https://github.com/savonrb/wasabi/issues/25) Fixes a problem where Wasabi escaped
78
+ - Fix: [#25](https://github.com/savonrb/wasabi/issues/25) Fixes a problem where Wasabi escaped
74
79
  an already escaped endpoint URL.
75
80
 
76
- * Fix: [#15](https://github.com/savonrb/wasabi/issues/15) Fixes a bug where the operation tag
81
+ - Fix: [#15](https://github.com/savonrb/wasabi/issues/15) Fixes a bug where the operation tag
77
82
  name was not correctly extracted from the WSDL document.
78
83
 
79
84
  ## 3.1.0 (2013-04-21)
80
85
 
81
- * Feature: [#22](https://github.com/savonrb/wasabi/issues/22) added `Wasabi::Document#service_name`
86
+ - Feature: [#22](https://github.com/savonrb/wasabi/issues/22) added `Wasabi::Document#service_name`
82
87
  to return the name of the SOAP service. Original issue: [savonrb/savon#408](https://github.com/savonrb/savon/pull/408).
83
88
 
84
- * Fix: [#21](https://github.com/savonrb/wasabi/issues/21) when the Resolver gets an
89
+ - Fix: [#21](https://github.com/savonrb/wasabi/issues/21) when the Resolver gets an
85
90
  erroneous response (such as a 404), we now raise a more useful HTTPError.
86
91
 
87
- * Fix: [#23](https://github.com/savonrb/wasabi/issues/23) ignore extension base elements
92
+ - Fix: [#23](https://github.com/savonrb/wasabi/issues/23) ignore extension base elements
88
93
  defined in imports.
89
94
 
90
95
  ## 3.0.0 (2012-12-17)
91
96
 
92
- * Updated to HTTPI 2.0 to play nicely with Savon 2.0.
97
+ - Updated to HTTPI 2.0 to play nicely with Savon 2.0.
93
98
 
94
99
  ## 2.5.1 (2012-08-22)
95
100
 
96
- * Fix: [#14](https://github.com/savonrb/wasabi/issues/14) fixes an issue where
101
+ - Fix: [#14](https://github.com/savonrb/wasabi/issues/14) fixes an issue where
97
102
  finding the correct SOAP input tag and namespace identifier fails when portTypes
98
103
  are imported, since imports are currently not supported.
99
104
 
100
105
  The bug was introduced in v2.2.0 by [583cf6](https://github.com/savonrb/wasabi/commit/583cf658f1953411a7a7a4c22923fa0a046c8d6d)
101
106
 
102
- * Refactoring: Removed `Object#blank?` core extension.
107
+ - Refactoring: Removed `Object#blank?` core extension.
103
108
 
104
109
  ## 2.5.0 (2012-06-28)
105
110
 
106
- * Fix: [#10](https://github.com/savonrb/wasabi/issues/10) fixes an issue where
111
+ - Fix: [#10](https://github.com/savonrb/wasabi/issues/10) fixes an issue where
107
112
  Wasabi used the wrong operation name.
108
113
 
109
114
  ## 2.4.1 (2012-06-18)
110
115
 
111
- * Fix: [savonrb/savon#296](https://github.com/savonrb/savon/issues/296) fixes an issue where
116
+ - Fix: [savonrb/savon#296](https://github.com/savonrb/savon/issues/296) fixes an issue where
112
117
  the WSDL message element doesn't have part element.
113
118
 
114
119
  ## 2.4.0 (2012-06-08)
115
120
 
116
- * Feature: `Wasabi::Document` now accepts either a URL of a remote document,
121
+ - Feature: `Wasabi::Document` now accepts either a URL of a remote document,
117
122
  a path to a local file or raw XML. The code for this was moved from Savon over
118
123
  here as a first step towards supporting WSDL imports.
119
124
 
120
125
  ## 2.3.0 (2012-06-07)
121
126
 
122
- * Improvement: [#3](https://github.com/savonrb/wasabi/pull/3) adds object inheritance.
127
+ - Improvement: [#3](https://github.com/savonrb/wasabi/pull/3) adds object inheritance.
123
128
 
124
129
  ## 2.2.0 (2012-06-06)
125
130
 
126
- * Improvement: [#5](https://github.com/savonrb/wasabi/pull/5) - Get input from message
131
+ - Improvement: [#5](https://github.com/savonrb/wasabi/pull/5) - Get input from message
127
132
  element or portType input. See [savonrb/savon#277](https://github.com/savonrb/savon/pull/277)
128
133
  to get the full picture on how this all works together, and enables you to pass a single
129
134
  symbol into the `Savon::Client#request` method and get automatic namespace mapping, as well
@@ -131,23 +136,23 @@ NB: This version was never released to RubyGems.org.
131
136
 
132
137
  ## 2.1.1 (2012-05-18)
133
138
 
134
- * Fix: [issue 7](https://github.com/savonrb/wasabi/issues/7) - Performance regression.
139
+ - Fix: [issue 7](https://github.com/savonrb/wasabi/issues/7) - Performance regression.
135
140
 
136
141
  ## 2.1.0 (2012-02-17)
137
142
 
138
- * Improvement: The value of elementFormDefault can now be manually specified/overwritten.
143
+ - Improvement: The value of elementFormDefault can now be manually specified/overwritten.
139
144
 
140
- * Improvement: [issue 2](https://github.com/savonrb/wasabi/issues/2) - Allow symbolic endpoints
145
+ - Improvement: [issue 2](https://github.com/savonrb/wasabi/issues/2) - Allow symbolic endpoints
141
146
  like "http://server:port".
142
147
 
143
148
  ## 2.0.0 (2011-07-07)
144
149
 
145
- * Feature: Wasabi can now parse type definitions and namespaces.
150
+ - Feature: Wasabi can now parse type definitions and namespaces.
146
151
  Thanks to [jkingdon](https://github.com/jkingdon) for implementing this.
147
152
 
148
153
  ## 1.0.0 (2011-07-03)
149
154
 
150
- * Initial version extracted from the [Savon](http://rubygems.org/gems/savon) library.
155
+ - Initial version extracted from the [Savon](http://rubygems.org/gems/savon) library.
151
156
  Use it to build your own SOAP client and help to improve it!
152
157
 
153
158
  [@fernandes]: https://github.com/fernandes
data/lib/wasabi/parser.rb CHANGED
@@ -144,8 +144,9 @@ module Wasabi
144
144
  # TODO: check for soap namespace?
145
145
  soap_operation = operation.element_children.find { |node| node.name == 'operation' }
146
146
  soap_action = soap_operation['soapAction'] if soap_operation
147
+ soap_document = soap_operation["style"] if soap_operation
147
148
 
148
- if soap_action
149
+ if soap_action || soap_document
149
150
  soap_action = soap_action.to_s
150
151
  action = soap_action && !soap_action.empty? ? soap_action : name
151
152
 
@@ -247,8 +248,7 @@ module Wasabi
247
248
  port_type_operation = @port_type_operations[binding_type][operation_name]
248
249
  end
249
250
 
250
- port_type_input_output = port_type_operation &&
251
- port_type_operation.element_children.find { |node| node.name == input_output }
251
+ port_type_input_output = port_type_operation&.element_children&.find { |node| node.name == input_output }
252
252
 
253
253
  # TODO: Stupid fix for missing support for imports.
254
254
  # Sometimes portTypes are actually included in a separate WSDL.
@@ -260,6 +260,8 @@ module Wasabi
260
260
  end
261
261
 
262
262
  message_ns_id, message_type = nil
263
+ message_ns_id = port_message_ns_id
264
+ message_type = port_message_type
263
265
 
264
266
  # When there is a parts attribute in soap:body element, we should use that value
265
267
  # to look up the message part from messages array.
@@ -270,8 +272,8 @@ module Wasabi
270
272
  end
271
273
 
272
274
  message = @messages[port_message_type]
273
- port_message_part = message.element_children.find do |node|
274
- soap_body_parts.nil? ? (node.name == 'part') : ( node.name == 'part' && node['name'] == soap_body_parts)
275
+ port_message_part = message&.element_children&.find do |node|
276
+ soap_body_parts.nil? ? (node.name == "part") : (node.name == "part" && node["name"] == soap_body_parts)
275
277
  end
276
278
 
277
279
  if port_message_part && port_element = port_message_part.attribute('element')
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wasabi
4
- VERSION = '3.8.0'
4
+ VERSION = '4.0.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wasabi
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Harrington
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-01 00:00:00.000000000 Z
11
+ date: 2023-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpi
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.4.2
33
+ version: 1.13.9
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.4.2
40
+ version: 1.13.9
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: addressable
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -73,9 +73,10 @@ licenses:
73
73
  - MIT
74
74
  metadata:
75
75
  changelog_uri: https://github.com/savonrb/wasabi/blob/master/CHANGELOG.md
76
- documentation_uri: https://www.rubydoc.info/gems/wasabi/3.8.0
76
+ documentation_uri: https://www.rubydoc.info/gems/wasabi/4.0.0
77
77
  source_code_uri: https://github.com/savonrb/wasabi
78
78
  bug_tracker_uri: https://github.com/savonrb/wasabi/issues
79
+ rubygems_mfa_required: 'true'
79
80
  post_install_message:
80
81
  rdoc_options: []
81
82
  require_paths:
@@ -84,14 +85,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
85
  requirements:
85
86
  - - ">="
86
87
  - !ruby/object:Gem::Version
87
- version: 1.9.2
88
+ version: '2.7'
88
89
  required_rubygems_version: !ruby/object:Gem::Requirement
89
90
  requirements:
90
91
  - - ">="
91
92
  - !ruby/object:Gem::Version
92
93
  version: '0'
93
94
  requirements: []
94
- rubygems_version: 3.3.7
95
+ rubygems_version: 3.4.6
95
96
  signing_key:
96
97
  specification_version: 4
97
98
  summary: A simple WSDL parser