wrest 3.0.0 → 4.0.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 +5 -5
- data/CHANGELOG +3 -0
- data/LICENCE +1 -1
- data/README.md +29 -28
- data/bin/wrest +2 -1
- data/bin/wrest_shell.rb +10 -8
- data/lib/wrest/async_request/event_machine_backend.rb +3 -1
- data/lib/wrest/async_request/thread_backend.rb +5 -2
- data/lib/wrest/async_request/thread_pool.rb +4 -2
- data/lib/wrest/async_request.rb +7 -6
- data/lib/wrest/cache_proxy.rb +39 -28
- data/lib/wrest/caching/memcached.rb +21 -18
- data/lib/wrest/caching/redis.rb +22 -22
- data/lib/wrest/caching.rb +16 -14
- data/lib/wrest/callback.rb +19 -16
- data/lib/wrest/components/container/alias_accessors.rb +51 -47
- data/lib/wrest/components/container/typecaster.rb +146 -96
- data/lib/wrest/components/container.rb +171 -152
- data/lib/wrest/components/mutators/base.rb +43 -34
- data/lib/wrest/components/mutators/camel_to_snake_case.rb +7 -3
- data/lib/wrest/components/mutators/{xml_mini_type_caster.rb → xml_type_caster.rb} +29 -16
- data/lib/wrest/components/mutators.rb +21 -19
- data/lib/wrest/components/translators/content_types.rb +20 -16
- data/lib/wrest/components/translators/json.rb +19 -16
- data/lib/wrest/components/translators/txt.rb +19 -15
- data/lib/wrest/components/translators/xml/conversions.rb +56 -0
- data/lib/wrest/components/translators/xml.rb +60 -18
- data/lib/wrest/components/translators.rb +7 -6
- data/lib/wrest/components.rb +11 -8
- data/lib/wrest/core_ext/hash/conversions.rb +10 -10
- data/lib/wrest/core_ext/hash.rb +4 -2
- data/lib/wrest/core_ext/string/conversions.rb +14 -13
- data/lib/wrest/core_ext/string.rb +5 -3
- data/lib/wrest/exceptions.rb +4 -2
- data/lib/wrest/hash_with_case_insensitive_access.rb +8 -8
- data/lib/wrest/hash_with_indifferent_access.rb +442 -0
- data/lib/wrest/http_codes.rb +20 -19
- data/lib/wrest/http_shared/headers.rb +2 -0
- data/lib/wrest/http_shared/standard_headers.rb +2 -2
- data/lib/wrest/http_shared/standard_tokens.rb +8 -6
- data/lib/wrest/http_shared.rb +5 -3
- data/lib/wrest/multipart.rb +20 -11
- data/lib/wrest/native/connection_factory.rb +15 -11
- data/lib/wrest/native/delete.rb +15 -11
- data/lib/wrest/native/get.rb +60 -56
- data/lib/wrest/native/options.rb +15 -11
- data/lib/wrest/native/patch.rb +16 -12
- data/lib/wrest/native/post.rb +15 -11
- data/lib/wrest/native/post_multipart.rb +22 -18
- data/lib/wrest/native/put.rb +16 -12
- data/lib/wrest/native/put_multipart.rb +22 -18
- data/lib/wrest/native/redirection.rb +13 -12
- data/lib/wrest/native/request.rb +144 -108
- data/lib/wrest/native/response.rb +87 -78
- data/lib/wrest/native/session.rb +49 -40
- data/lib/wrest/native.rb +14 -12
- data/lib/wrest/test/request_patches.rb +10 -3
- data/lib/wrest/test.rb +3 -1
- data/lib/wrest/uri/builders.rb +14 -12
- data/lib/wrest/uri.rb +70 -52
- data/lib/wrest/uri_template.rb +11 -7
- data/lib/wrest/utils.rb +129 -0
- data/lib/wrest/version.rb +3 -1
- data/lib/wrest.rb +31 -33
- data/lib/wrest_no_ext.rb +2 -0
- metadata +98 -48
- data/lib/wrest/components/mutators/xml_simple_type_caster.rb +0 -37
- data/lib/wrest/xml_mini/jdom/xpath_filter.rb +0 -17
- data/lib/wrest/xml_mini/jdom.rb +0 -6
- data/lib/wrest/xml_mini/libxml/xpath_filter.rb +0 -12
- data/lib/wrest/xml_mini/libxml.rb +0 -8
- data/lib/wrest/xml_mini/nokogiri/xpath_filter.rb +0 -15
- data/lib/wrest/xml_mini/nokogiri.rb +0 -7
- data/lib/wrest/xml_mini/rexml/xpath_filter.rb +0 -15
- data/lib/wrest/xml_mini/rexml.rb +0 -8
- data/lib/wrest/xml_mini.rb +0 -8
data/lib/wrest.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Copyright 2009 Sidu Ponnappa
|
2
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
3
5
|
# you may not use this file except in compliance with the License.
|
@@ -14,18 +16,14 @@ require 'cgi'
|
|
14
16
|
require 'base64'
|
15
17
|
require 'logger'
|
16
18
|
require 'benchmark'
|
17
|
-
require 'multi_json'
|
18
19
|
require 'concurrent'
|
19
|
-
require '
|
20
|
-
require '
|
21
|
-
require 'active_support/core_ext/hash'
|
22
|
-
require 'active_support/core_ext/module'
|
23
|
-
require 'active_support/core_ext/object'
|
20
|
+
require 'nokogiri'
|
21
|
+
require 'json'
|
24
22
|
|
25
23
|
module Wrest
|
26
24
|
Root = File.dirname(__FILE__)
|
27
25
|
|
28
|
-
|
26
|
+
$LOAD_PATH.unshift Root
|
29
27
|
|
30
28
|
def self.logger=(logger)
|
31
29
|
@logger = logger
|
@@ -36,44 +34,44 @@ module Wrest
|
|
36
34
|
end
|
37
35
|
|
38
36
|
def self.enable_evented_requests!
|
39
|
-
require
|
37
|
+
require 'wrest/event_machine_backend'
|
40
38
|
end
|
41
39
|
|
42
40
|
# Switch Wrest to using Net::HTTP.
|
43
41
|
def self.use_native!
|
44
|
-
|
42
|
+
old_verbose = $VERBOSE
|
43
|
+
$VERBOSE = nil
|
44
|
+
Wrest.const_set('Http', Wrest::Native)
|
45
|
+
ensure
|
46
|
+
$VERBOSE = old_verbose
|
45
47
|
end
|
46
48
|
end
|
47
49
|
|
48
|
-
Wrest.logger =
|
50
|
+
Wrest.logger = Logger.new($stdout)
|
49
51
|
Wrest.logger.level = Logger::DEBUG
|
50
52
|
|
51
|
-
require
|
52
|
-
require
|
53
|
-
|
54
|
-
|
55
|
-
require "wrest/xml_mini"
|
53
|
+
require 'wrest/utils'
|
54
|
+
require 'wrest/core_ext/string'
|
55
|
+
require 'wrest/hash_with_indifferent_access'
|
56
|
+
require 'wrest/hash_with_case_insensitive_access'
|
56
57
|
|
57
58
|
# Load Wrest Core
|
58
|
-
require
|
59
|
-
require
|
60
|
-
require
|
61
|
-
require
|
62
|
-
require
|
63
|
-
require
|
59
|
+
require 'wrest/version'
|
60
|
+
require 'wrest/cache_proxy'
|
61
|
+
require 'wrest/http_shared'
|
62
|
+
require 'wrest/http_codes'
|
63
|
+
require 'wrest/callback'
|
64
|
+
require 'wrest/native'
|
64
65
|
|
65
|
-
require
|
66
|
-
require
|
67
|
-
require
|
66
|
+
require 'wrest/async_request/thread_pool'
|
67
|
+
require 'wrest/async_request/thread_backend'
|
68
|
+
require 'wrest/async_request'
|
68
69
|
|
69
|
-
require
|
70
|
+
require 'wrest/caching'
|
70
71
|
|
71
72
|
# Load Wrest Wrappers
|
72
|
-
require
|
73
|
-
require
|
74
|
-
require
|
75
|
-
require
|
76
|
-
require
|
77
|
-
|
78
|
-
# Load Wrest::Resource
|
79
|
-
# require "wrest/resource"
|
73
|
+
require 'wrest/uri/builders'
|
74
|
+
require 'wrest/uri'
|
75
|
+
require 'wrest/uri_template'
|
76
|
+
require 'wrest/exceptions'
|
77
|
+
require 'wrest/components'
|
data/lib/wrest_no_ext.rb
CHANGED
metadata
CHANGED
@@ -1,86 +1,142 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wrest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sidu Ponnappa
|
8
8
|
- Niranjan Paranjape
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-09-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '6'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '6'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
34
|
+
version: '13.0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: '13.0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: rdoc
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
49
|
-
type: :
|
48
|
+
version: '6.4'
|
49
|
+
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
55
|
+
version: '6.4'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
57
|
+
name: rspec
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - "
|
60
|
+
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
63
|
-
type: :
|
62
|
+
version: '3.11'
|
63
|
+
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - "
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
69
|
+
version: '3.11'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: rubocop
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
77
|
-
type: :
|
76
|
+
version: 1.35.0
|
77
|
+
type: :development
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
83
|
+
version: 1.35.0
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rubocop-rake
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rubocop-rspec
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: sinatra
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - "~>"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 2.0.0
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 2.0.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: webrick
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
84
140
|
- !ruby/object:Gem::Dependency
|
85
141
|
name: concurrent-ruby
|
86
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,22 +152,22 @@ dependencies:
|
|
96
152
|
- !ruby/object:Gem::Version
|
97
153
|
version: '1.0'
|
98
154
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
155
|
+
name: nokogiri
|
100
156
|
requirement: !ruby/object:Gem::Requirement
|
101
157
|
requirements:
|
102
158
|
- - "~>"
|
103
159
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
160
|
+
version: '1.0'
|
105
161
|
type: :runtime
|
106
162
|
prerelease: false
|
107
163
|
version_requirements: !ruby/object:Gem::Requirement
|
108
164
|
requirements:
|
109
165
|
- - "~>"
|
110
166
|
- !ruby/object:Gem::Version
|
111
|
-
version: '
|
112
|
-
description: Wrest is a fluent, easy-to-use, object oriented Ruby HTTP/REST client
|
167
|
+
version: '1.0'
|
168
|
+
description: "Wrest is a fluent, easy-to-use, object oriented Ruby HTTP/REST client
|
113
169
|
library with support for RFC2616 HTTP caching, multiple HTTP backends and async
|
114
|
-
calls. It runs on CRuby and JRuby and is in production use at
|
170
|
+
calls. It runs on CRuby and JRuby and is in production use at 10 * \U0001F984 scale."
|
115
171
|
email:
|
116
172
|
- ckponnappa@gmail.com
|
117
173
|
executables:
|
@@ -142,19 +198,20 @@ files:
|
|
142
198
|
- lib/wrest/components/mutators.rb
|
143
199
|
- lib/wrest/components/mutators/base.rb
|
144
200
|
- lib/wrest/components/mutators/camel_to_snake_case.rb
|
145
|
-
- lib/wrest/components/mutators/
|
146
|
-
- lib/wrest/components/mutators/xml_simple_type_caster.rb
|
201
|
+
- lib/wrest/components/mutators/xml_type_caster.rb
|
147
202
|
- lib/wrest/components/translators.rb
|
148
203
|
- lib/wrest/components/translators/content_types.rb
|
149
204
|
- lib/wrest/components/translators/json.rb
|
150
205
|
- lib/wrest/components/translators/txt.rb
|
151
206
|
- lib/wrest/components/translators/xml.rb
|
207
|
+
- lib/wrest/components/translators/xml/conversions.rb
|
152
208
|
- lib/wrest/core_ext/hash.rb
|
153
209
|
- lib/wrest/core_ext/hash/conversions.rb
|
154
210
|
- lib/wrest/core_ext/string.rb
|
155
211
|
- lib/wrest/core_ext/string/conversions.rb
|
156
212
|
- lib/wrest/exceptions.rb
|
157
213
|
- lib/wrest/hash_with_case_insensitive_access.rb
|
214
|
+
- lib/wrest/hash_with_indifferent_access.rb
|
158
215
|
- lib/wrest/http_codes.rb
|
159
216
|
- lib/wrest/http_shared.rb
|
160
217
|
- lib/wrest/http_shared/headers.rb
|
@@ -180,21 +237,14 @@ files:
|
|
180
237
|
- lib/wrest/uri.rb
|
181
238
|
- lib/wrest/uri/builders.rb
|
182
239
|
- lib/wrest/uri_template.rb
|
240
|
+
- lib/wrest/utils.rb
|
183
241
|
- lib/wrest/version.rb
|
184
|
-
- lib/wrest/xml_mini.rb
|
185
|
-
- lib/wrest/xml_mini/jdom.rb
|
186
|
-
- lib/wrest/xml_mini/jdom/xpath_filter.rb
|
187
|
-
- lib/wrest/xml_mini/libxml.rb
|
188
|
-
- lib/wrest/xml_mini/libxml/xpath_filter.rb
|
189
|
-
- lib/wrest/xml_mini/nokogiri.rb
|
190
|
-
- lib/wrest/xml_mini/nokogiri/xpath_filter.rb
|
191
|
-
- lib/wrest/xml_mini/rexml.rb
|
192
|
-
- lib/wrest/xml_mini/rexml/xpath_filter.rb
|
193
242
|
- lib/wrest_no_ext.rb
|
194
|
-
homepage: https://github.com/
|
243
|
+
homepage: https://github.com/kaiwren/wrest
|
195
244
|
licenses: []
|
196
|
-
metadata:
|
197
|
-
|
245
|
+
metadata:
|
246
|
+
rubygems_mfa_required: 'true'
|
247
|
+
post_install_message:
|
198
248
|
rdoc_options:
|
199
249
|
- "--charset=UTF-8"
|
200
250
|
require_paths:
|
@@ -203,20 +253,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
203
253
|
requirements:
|
204
254
|
- - ">="
|
205
255
|
- !ruby/object:Gem::Version
|
206
|
-
version:
|
256
|
+
version: 2.6.0
|
207
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
258
|
requirements:
|
209
259
|
- - ">="
|
210
260
|
- !ruby/object:Gem::Version
|
211
|
-
version:
|
261
|
+
version: 3.0.0
|
212
262
|
requirements:
|
213
263
|
- To use Memcached as caching back-end, install the 'dalli' gem.
|
214
264
|
- To use Redis as caching back-end, install the 'redis' gem.
|
215
265
|
- To use multipart post, install the 'multipart-post' gem.
|
216
266
|
- To use eventmachine as a parallel backend, install the 'eventmachine' gem.
|
217
|
-
|
218
|
-
|
219
|
-
signing_key:
|
267
|
+
rubygems_version: 3.3.7
|
268
|
+
signing_key:
|
220
269
|
specification_version: 4
|
221
|
-
summary: Wrest is a fluent, object oriented HTTP client library for 2.
|
270
|
+
summary: Wrest is a fluent, object oriented HTTP client library for CRuby 2.6.x, 3.x.x
|
271
|
+
and JRuby 9.3.x.x
|
222
272
|
test_files: []
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# Copyright 2009 Sidu Ponnappa
|
2
|
-
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
6
|
-
# Unless required by applicable law or agreed to in writing, software distributed under the License
|
7
|
-
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
8
|
-
# See the License for the specific language governing permissions and limitations under the License.
|
9
|
-
|
10
|
-
module Wrest
|
11
|
-
module Components
|
12
|
-
# This mutator undertands how do type casting
|
13
|
-
# using the type data embedded in a hash
|
14
|
-
# created by deserialising an xml using
|
15
|
-
# xml-simple
|
16
|
-
class Mutators::XmlSimpleTypeCaster < Mutators::Base
|
17
|
-
def do_mutate(tuple)
|
18
|
-
out_key = tuple.first
|
19
|
-
in_value = tuple.last[0]
|
20
|
-
out_value = in_value
|
21
|
-
|
22
|
-
case in_value
|
23
|
-
when Hash
|
24
|
-
if in_value['nil'] == 'true'
|
25
|
-
out_value = nil
|
26
|
-
elsif in_value.key?('type')
|
27
|
-
out_value = ActiveSupport::XmlMini::PARSING[in_value['type']].call(in_value['content'])
|
28
|
-
else
|
29
|
-
out_value = in_value.mutate_using(self)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
[out_key, out_value]
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
raise "JRuby is required to use the JDOM backend for XmlMini" unless RUBY_PLATFORM =~ /java/
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
module XmlMini
|
7
|
-
module JDOM
|
8
|
-
module XPathFilter
|
9
|
-
#Enables filtering of an xml response using a specified xpath
|
10
|
-
#Returns an array of elements matching the xpath
|
11
|
-
def filter(xml_body,xpath)
|
12
|
-
raise NotImplementedError, "'filter' method is not implemented if JDOM backend is being used"
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
data/lib/wrest/xml_mini/jdom.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
module XmlMini
|
2
|
-
module LibXML
|
3
|
-
module XPathFilter
|
4
|
-
#Enables filtering of an xml response using a specified xpath
|
5
|
-
#Returns an array of elements matching the xpath
|
6
|
-
def filter(xml_body,xpath)
|
7
|
-
doc = ::LibXML::XML::Document.string(xml_body)
|
8
|
-
doc.find(xpath).to_a
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module XmlMini
|
2
|
-
module Nokogiri
|
3
|
-
module XPathFilter
|
4
|
-
#Enables filtering of an xml response using a specified xpath
|
5
|
-
#Returns all elements that match the xpath
|
6
|
-
def filter(xml_body,xpath)
|
7
|
-
doc = ::Nokogiri::XML(xml_body)
|
8
|
-
doc.xpath(xpath).to_a
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
|
15
|
-
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module XmlMini
|
2
|
-
module Rexml
|
3
|
-
module XPathFilter
|
4
|
-
#Enables filtering of an xml response using a specified xpath
|
5
|
-
#Returns an array of elements matching the xpath
|
6
|
-
def filter(xml_body,xpath)
|
7
|
-
doc = REXML::Document.new(xml_body)
|
8
|
-
REXML::XPath.each(doc,xpath).to_a
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
|
15
|
-
|
data/lib/wrest/xml_mini/rexml.rb
DELETED