wasabi 3.7.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: b297c966bd9065c9ff529ba5f879ed24313b999ad6528f54f704bac52bbee751
4
- data.tar.gz: 0e293c359124725f632ac3d25ebd6085a1a99f7487da0cca93aafbbbd9a054e6
3
+ metadata.gz: cd00d9ef38f5862944963ce619dfccab4f9a493c13b991d5f353da00961f8f15
4
+ data.tar.gz: 05cbb07bdd93ef4ca1c9799fc7159ab800033c02bc72bead3674c96a0be9b1b4
5
5
  SHA512:
6
- metadata.gz: 4a89b1b0d09e9bdb7379b3e00c3c290d9c617beff6f80d30feb3ea42f4bb9f9f4b89ade325ad1ed6882534ea38f36a25be8dd82664173a3716a7ae49dba7ade6
7
- data.tar.gz: ef4682e241ae1f6f11f151e01d0004484ec41b0796a75122fabc1ab86377e4b5cbb5dcf768d8218ee07ab37d1a9c6f176278f86a0bd3c8bbad68aa6f8c4e997b
6
+ metadata.gz: b29cddca0c79981e0b1f06e808752dddef2916ee9bc9a489be5f4170d53c2653743ab334e13deb4fa69f59668246af0f51af1dbf2a7ec4590b5df8026308998e
7
+ data.tar.gz: ba51e137a4d98ad2e659331b95fafec4e815d1857a61b4ec523d2ca5e26ea9bfefea4c00d2acd0f979722789bff22547961bfcbea3b1f042a4408c5bbcf082a4
data/CHANGELOG.md CHANGED
@@ -1,120 +1,134 @@
1
- # Unreleased
1
+ # CHANGELOG for Wasabi
2
+
3
+ ## Unreleased
2
4
 
3
5
  - _Your new line here. Mind the style of prefix used in the rest of the document._
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
+
12
+ ## 3.8.0 (2022-10-01)
13
+
14
+ - Change: Update HTTPI to 3.0 to remove the socksify dependency. ([savonrb/httpi#225](https://github.com/savonrb/httpi/pull/225))
15
+
16
+ ## 3.7.0 (2022-01-25)
17
+
4
18
  - Breaking: BC BREAKING: Revert "Add support for rpc encoded wsdl" ([#103](https://github.com/savonrb/wasabi/pull/103))
5
- - Fix: Support escaped endpoint urls ([#100](https://github.com/savonrb/wasabi/pull/100))
19
+ - Fix: Support escaped endpoint URLs ([#100](https://github.com/savonrb/wasabi/pull/100))
6
20
 
7
- # 3.6.1 (2020-08-27)
21
+ ## 3.6.1 (2020-08-27)
8
22
 
9
23
  - Fix: Repair unlinked Markdown in the CHANGELOG
10
24
  - Add: Link to the CHANGELOG in the RubyGems.org metadata
11
25
  - Add: Link to the Rubydocs.info documentation in the RubyGems.org metadata
12
26
 
13
- # 3.6.0 (2020-08-27)
27
+ ## 3.6.0 (2020-08-27)
14
28
 
15
29
  - Add: Support RPC-encoded WSDL ([#63](https://github.com/savonrb/wasabi/pull/63), [@fernandes][])
16
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][])
17
- - 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)
18
32
  - Change: Reduced size of gem by focusing the files list ([#89](https://github.com/savonrb/wasabi/pull/89), [@utkarsh2102][])
19
33
  - Remove: No longer tested on Rubinius
20
34
 
21
- # 3.5.1 (2015-05-18)
35
+ ## 3.5.1 (2015-05-18)
22
36
 
23
37
  NB: This version was never released to RubyGems.org.
24
38
 
25
- * 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
26
40
 
27
- # 3.5.0 (2015-03-31)
41
+ ## 3.5.0 (2015-03-31)
28
42
 
29
- * Formally drop support for ruby 1.8.7
43
+ - Formally drop support for ruby 1.8.7
30
44
 
31
- # 3.4.0 (2015-03-02)
45
+ ## 3.4.0 (2015-03-02)
32
46
 
33
- * 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.
34
48
 
35
- # 3.3.1 (2014-09-25)
49
+ ## 3.3.1 (2014-09-25)
36
50
 
37
- * 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
38
52
 
39
- # 3.3.0 (2014-05-03)
40
- * Feature: [#44](https://github.com/savonrb/wasabi/pull/44) adds a feature to specify the HTTPI adapter you'd like to use.
53
+ ## 3.3.0 (2014-05-03)
54
+ - Feature: [#44](https://github.com/savonrb/wasabi/pull/44) adds a feature to specify the HTTPI adapter you'd like to use.
41
55
 
42
- # 3.2.3 (2013-12-16)
43
- * 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.
56
+ ## 3.2.3 (2013-12-16)
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.
44
58
 
45
- # 3.2.2 (2013-12-09)
59
+ ## 3.2.2 (2013-12-09)
46
60
 
47
- * 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
48
62
 
49
- # 3.2.1 (2013-12-05)
63
+ ## 3.2.1 (2013-12-05)
50
64
 
51
- * 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.
52
66
 
53
67
  ## 3.2.0 (2013-07-26)
54
68
 
55
- * 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
56
70
  operation's parameters. Please note that if your WSDL defines imports, this method might
57
71
  not return all types.
58
72
 
59
- * 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.
60
74
 
61
- * 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
62
76
  element order and type information.
63
77
 
64
- * 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
65
79
  an already escaped endpoint URL.
66
80
 
67
- * 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
68
82
  name was not correctly extracted from the WSDL document.
69
83
 
70
84
  ## 3.1.0 (2013-04-21)
71
85
 
72
- * 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`
73
87
  to return the name of the SOAP service. Original issue: [savonrb/savon#408](https://github.com/savonrb/savon/pull/408).
74
88
 
75
- * 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
76
90
  erroneous response (such as a 404), we now raise a more useful HTTPError.
77
91
 
78
- * 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
79
93
  defined in imports.
80
94
 
81
95
  ## 3.0.0 (2012-12-17)
82
96
 
83
- * 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.
84
98
 
85
99
  ## 2.5.1 (2012-08-22)
86
100
 
87
- * 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
88
102
  finding the correct SOAP input tag and namespace identifier fails when portTypes
89
103
  are imported, since imports are currently not supported.
90
104
 
91
105
  The bug was introduced in v2.2.0 by [583cf6](https://github.com/savonrb/wasabi/commit/583cf658f1953411a7a7a4c22923fa0a046c8d6d)
92
106
 
93
- * Refactoring: Removed `Object#blank?` core extension.
107
+ - Refactoring: Removed `Object#blank?` core extension.
94
108
 
95
109
  ## 2.5.0 (2012-06-28)
96
110
 
97
- * 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
98
112
  Wasabi used the wrong operation name.
99
113
 
100
114
  ## 2.4.1 (2012-06-18)
101
115
 
102
- * 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
103
117
  the WSDL message element doesn't have part element.
104
118
 
105
119
  ## 2.4.0 (2012-06-08)
106
120
 
107
- * 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,
108
122
  a path to a local file or raw XML. The code for this was moved from Savon over
109
123
  here as a first step towards supporting WSDL imports.
110
124
 
111
125
  ## 2.3.0 (2012-06-07)
112
126
 
113
- * 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.
114
128
 
115
129
  ## 2.2.0 (2012-06-06)
116
130
 
117
- * 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
118
132
  element or portType input. See [savonrb/savon#277](https://github.com/savonrb/savon/pull/277)
119
133
  to get the full picture on how this all works together, and enables you to pass a single
120
134
  symbol into the `Savon::Client#request` method and get automatic namespace mapping, as well
@@ -122,23 +136,23 @@ NB: This version was never released to RubyGems.org.
122
136
 
123
137
  ## 2.1.1 (2012-05-18)
124
138
 
125
- * 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.
126
140
 
127
141
  ## 2.1.0 (2012-02-17)
128
142
 
129
- * Improvement: The value of elementFormDefault can now be manually specified/overwritten.
143
+ - Improvement: The value of elementFormDefault can now be manually specified/overwritten.
130
144
 
131
- * 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
132
146
  like "http://server:port".
133
147
 
134
148
  ## 2.0.0 (2011-07-07)
135
149
 
136
- * Feature: Wasabi can now parse type definitions and namespaces.
150
+ - Feature: Wasabi can now parse type definitions and namespaces.
137
151
  Thanks to [jkingdon](https://github.com/jkingdon) for implementing this.
138
152
 
139
153
  ## 1.0.0 (2011-07-03)
140
154
 
141
- * 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.
142
156
  Use it to build your own SOAP client and help to improve it!
143
157
 
144
158
  [@fernandes]: https://github.com/fernandes
data/README.md CHANGED
@@ -9,12 +9,18 @@ A simple WSDL parser.
9
9
 
10
10
  ## Installation
11
11
 
12
- Wasabi is available through [Rubygems](http://rubygems.org/gems/wasabi) and can be installed via:
12
+ Wasabi is available through [RubyGems](http://rubygems.org/gems/wasabi) and can be installed via:
13
13
 
14
14
  ```
15
15
  $ gem install wasabi
16
16
  ```
17
17
 
18
+ Probably, you are using this gem as a dependency of some other gem. But, if you want to control which version of Wasabi to pick, you can add a `gem` line to your `Gemfile`:
19
+
20
+ ```
21
+ gem "wasabi"
22
+ ```
23
+
18
24
 
19
25
  ## Getting started
20
26
 
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.7.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.7.0
4
+ version: 4.0.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-01-25 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
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.0'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
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,10 +73,11 @@ 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.7.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
- post_install_message:
79
+ rubygems_mfa_required: 'true'
80
+ post_install_message:
80
81
  rdoc_options: []
81
82
  require_paths:
82
83
  - lib
@@ -84,15 +85,15 @@ 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.2.7
95
- signing_key:
95
+ rubygems_version: 3.4.6
96
+ signing_key:
96
97
  specification_version: 4
97
98
  summary: A simple WSDL parser
98
99
  test_files: []