addressable 2.8.0 → 2.9.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 +4 -4
- data/CHANGELOG.md +119 -39
- data/README.md +6 -6
- data/lib/addressable/idna/native.rb +8 -3
- data/lib/addressable/idna/pure.rb +4245 -213
- data/lib/addressable/idna.rb +0 -1
- data/lib/addressable/template.rb +26 -17
- data/lib/addressable/uri.rb +232 -186
- data/lib/addressable/version.rb +1 -2
- metadata +8 -47
- data/Gemfile +0 -28
- data/Rakefile +0 -34
- data/addressable.gemspec +0 -37
- data/data/unicode.data +0 -0
- data/spec/addressable/idna_spec.rb +0 -302
- data/spec/addressable/net_http_compat_spec.rb +0 -30
- data/spec/addressable/security_spec.rb +0 -59
- data/spec/addressable/template_spec.rb +0 -1460
- data/spec/addressable/uri_spec.rb +0 -6665
- data/spec/spec_helper.rb +0 -33
- data/tasks/clobber.rake +0 -4
- data/tasks/gem.rake +0 -92
- data/tasks/git.rake +0 -47
- data/tasks/metrics.rake +0 -24
- data/tasks/profile.rake +0 -72
- data/tasks/rspec.rake +0 -23
- data/tasks/yard.rake +0 -29
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ffaab8b78df30a2126058a425f168d76b26bc33e60849cabc1a6beabae24464d
|
|
4
|
+
data.tar.gz: 841ab2bd18fbcf3ff746cb85ea1661e628e278e6c7bc5ad96cd480e36a54f067
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f5884313cb2c68ea73d25e8f7f0a76200030bb3fb7abad8b31532180b1ae3c1df10f8db614a273dba115c87860682d227fdf046c743370e020a577cae667d026
|
|
7
|
+
data.tar.gz: c97dd91446991ce20400e9b4c2586aefbc1dca9fd1d49efca9606fc505ff0d49807686ab1fdfd7d4dba447c9c4bf8fb6c0bbd5a1d3d69a4952207d035e912dc2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,84 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Addressable 2.9.0 <a name="v2.9.0">
|
|
4
|
+
- fixes ReDoS vulnerability in Addressable::Template#match (fixes incomplete
|
|
5
|
+
remediation in 2.8.10)
|
|
6
|
+
|
|
7
|
+
## Addressable 2.8.10 <a name="v2.8.10">
|
|
8
|
+
- fixes ReDoS vulnerability in Addressable::Template#match
|
|
9
|
+
|
|
10
|
+
## Addressable 2.8.9 <a name="v2.8.9">
|
|
11
|
+
- Reduce gem size by excluding test files ([#569])
|
|
12
|
+
- No need for bundler as development dependency ([#571], [5fc1d93](https://github.com/sporkmonger/addressable/commit/5fc1d93))
|
|
13
|
+
- idna/pure: stop building the useless `COMPOSITION_TABLE` (removes the `Addressable::IDNA::COMPOSITION_TABLE` constant) ([#564])
|
|
14
|
+
|
|
15
|
+
[#569]: https://github.com/sporkmonger/addressable/pull/569
|
|
16
|
+
[#571]: https://github.com/sporkmonger/addressable/pull/571
|
|
17
|
+
[#564]: https://github.com/sporkmonger/addressable/pull/564
|
|
18
|
+
|
|
19
|
+
## Addressable 2.8.8 <a name="v2.8.8">
|
|
20
|
+
- Replace the `unicode.data` blob by a ruby constant ([#561])
|
|
21
|
+
- Allow `public_suffix` 7 ([#558])
|
|
22
|
+
|
|
23
|
+
[#561]: https://github.com/sporkmonger/addressable/pull/561
|
|
24
|
+
[#558]: https://github.com/sporkmonger/addressable/pull/558
|
|
25
|
+
|
|
26
|
+
## Addressable 2.8.7 <a name="v2.8.7">
|
|
27
|
+
- Allow `public_suffix` 6 ([#535])
|
|
28
|
+
|
|
29
|
+
[#535]: https://github.com/sporkmonger/addressable/pull/535
|
|
30
|
+
|
|
31
|
+
## Addressable 2.8.6 <a name="v2.8.6">
|
|
32
|
+
- Memoize regexps for common character classes ([#524])
|
|
33
|
+
|
|
34
|
+
[#524]: https://github.com/sporkmonger/addressable/pull/524
|
|
35
|
+
|
|
36
|
+
## Addressable 2.8.5 <a name="v2.8.5">
|
|
37
|
+
- Fix thread safety issue with encoding tables ([#515])
|
|
38
|
+
- Define URI::NONE as a module to avoid serialization issues ([#509])
|
|
39
|
+
- Fix YAML serialization ([#508])
|
|
40
|
+
|
|
41
|
+
[#508]: https://github.com/sporkmonger/addressable/pull/508
|
|
42
|
+
[#509]: https://github.com/sporkmonger/addressable/pull/509
|
|
43
|
+
[#515]: https://github.com/sporkmonger/addressable/pull/515
|
|
44
|
+
|
|
45
|
+
## Addressable 2.8.4 <a name="v2.8.4">
|
|
46
|
+
- Restore `Addressable::IDNA.unicode_normalize_kc` as a deprecated method ([#504])
|
|
47
|
+
|
|
48
|
+
[#504]: https://github.com/sporkmonger/addressable/pull/504
|
|
49
|
+
|
|
50
|
+
## Addressable 2.8.3 <a name="v2.8.3">
|
|
51
|
+
- Fix template expand level 2 hash support for non-string objects ([#499], [#498])
|
|
52
|
+
|
|
53
|
+
[#499]: https://github.com/sporkmonger/addressable/pull/499
|
|
54
|
+
[#498]: https://github.com/sporkmonger/addressable/pull/498
|
|
55
|
+
|
|
56
|
+
## Addressable 2.8.2 <a name="v2.8.2">
|
|
57
|
+
- Improve cache hits and JIT friendliness ([#486](https://github.com/sporkmonger/addressable/pull/486))
|
|
58
|
+
- Improve code style and test coverage ([#482](https://github.com/sporkmonger/addressable/pull/482))
|
|
59
|
+
- Ensure reset of deferred validation ([#481](https://github.com/sporkmonger/addressable/pull/481))
|
|
60
|
+
- Resolve normalization differences between `IDNA::Native` and `IDNA::Pure` ([#408](https://github.com/sporkmonger/addressable/issues/408), [#492])
|
|
61
|
+
- Remove redundant colon in `Addressable::URI::CharacterClasses::AUTHORITY` regex ([#438](https://github.com/sporkmonger/addressable/pull/438)) (accidentally reverted by [#449] merge but [added back](https://github.com/sporkmonger/addressable/pull/492#discussion_r1105125280) in [#492])
|
|
62
|
+
|
|
63
|
+
[#492]: https://github.com/sporkmonger/addressable/pull/492
|
|
64
|
+
|
|
65
|
+
## Addressable 2.8.1 <a name="v2.8.1">
|
|
66
|
+
- refactor `Addressable::URI.normalize_path` to address linter offenses ([#430](https://github.com/sporkmonger/addressable/pull/430))
|
|
67
|
+
- update gemspec to reflect supported Ruby versions ([#466], [#464], [#463])
|
|
68
|
+
- compatibility w/ public_suffix 5.x ([#466], [#465], [#460])
|
|
69
|
+
- fixes "invalid byte sequence in UTF-8" exception when unencoding URLs containing non UTF-8 characters ([#459](https://github.com/sporkmonger/addressable/pull/459))
|
|
70
|
+
- `Ractor` compatibility ([#449])
|
|
71
|
+
- use the whole string instead of a single line for template match ([#431](https://github.com/sporkmonger/addressable/pull/431))
|
|
72
|
+
- force UTF-8 encoding only if needed ([#341](https://github.com/sporkmonger/addressable/pull/341))
|
|
73
|
+
|
|
74
|
+
[#449]: https://github.com/sporkmonger/addressable/pull/449
|
|
75
|
+
[#460]: https://github.com/sporkmonger/addressable/pull/460
|
|
76
|
+
[#463]: https://github.com/sporkmonger/addressable/pull/463
|
|
77
|
+
[#464]: https://github.com/sporkmonger/addressable/pull/464
|
|
78
|
+
[#465]: https://github.com/sporkmonger/addressable/pull/465
|
|
79
|
+
[#466]: https://github.com/sporkmonger/addressable/pull/466
|
|
80
|
+
|
|
81
|
+
## Addressable 2.8.0 <a name="v2.8.0">
|
|
2
82
|
- fixes ReDoS vulnerability in Addressable::Template#match
|
|
3
83
|
- no longer replaces `+` with spaces in queries for non-http(s) schemes
|
|
4
84
|
- fixed encoding ipv6 literals
|
|
@@ -10,14 +90,14 @@
|
|
|
10
90
|
- performance improvements
|
|
11
91
|
- switch CI/CD to GitHub Actions
|
|
12
92
|
|
|
13
|
-
|
|
93
|
+
## Addressable 2.7.0 <a name="v2.7.0">
|
|
14
94
|
- added `:compacted` flag to `normalized_query`
|
|
15
95
|
- `heuristic_parse` handles `mailto:` more intuitively
|
|
16
96
|
- dropped explicit support for JRuby 9.0.5.0
|
|
17
97
|
- compatibility w/ public_suffix 4.x
|
|
18
98
|
- performance improvements
|
|
19
99
|
|
|
20
|
-
|
|
100
|
+
## Addressable 2.6.0 <a name="v2.6.0">
|
|
21
101
|
- added `tld=` method to allow assignment to the public suffix
|
|
22
102
|
- most `heuristic_parse` patterns are now case-insensitive
|
|
23
103
|
- `heuristic_parse` handles more `file://` URI variations
|
|
@@ -28,17 +108,17 @@
|
|
|
28
108
|
- minor performance improvements in regexps
|
|
29
109
|
- fixes to eliminate warnings
|
|
30
110
|
|
|
31
|
-
|
|
111
|
+
## Addressable 2.5.2 <a name="v2.5.2">
|
|
32
112
|
- better support for frozen string literals
|
|
33
113
|
- fixed bug w/ uppercase characters in scheme
|
|
34
114
|
- IDNA errors w/ emoji URLs
|
|
35
115
|
- compatibility w/ public_suffix 3.x
|
|
36
116
|
|
|
37
|
-
|
|
117
|
+
## Addressable 2.5.1 <a name="v2.5.1">
|
|
38
118
|
- allow unicode normalization to be disabled for URI Template expansion
|
|
39
119
|
- removed duplicate test
|
|
40
120
|
|
|
41
|
-
|
|
121
|
+
## Addressable 2.5.0 <a name="v2.5.0">
|
|
42
122
|
- dropping support for Ruby 1.9
|
|
43
123
|
- adding support for Ruby 2.4 preview
|
|
44
124
|
- add support for public suffixes and tld; first runtime dependency
|
|
@@ -52,7 +132,7 @@
|
|
|
52
132
|
- host parts longer than 63 bytes will be ignored and not passed to libidn
|
|
53
133
|
- normalized values always encoded as UTF-8
|
|
54
134
|
|
|
55
|
-
|
|
135
|
+
## Addressable 2.4.0 <a name="v2.4.0">
|
|
56
136
|
- support for 1.8.x dropped
|
|
57
137
|
- double quotes in a host now raises an error
|
|
58
138
|
- newlines in host will no longer get unescaped during normalization
|
|
@@ -64,17 +144,17 @@
|
|
|
64
144
|
- fixed minor bug where an exception would be thrown for a missing ACE suffix
|
|
65
145
|
- better partial expansion of URI templates
|
|
66
146
|
|
|
67
|
-
|
|
147
|
+
## Addressable 2.3.8 <a name="v2.3.8">
|
|
68
148
|
- fix warnings
|
|
69
149
|
- update dependency gems
|
|
70
150
|
- support for 1.8.x officially deprecated
|
|
71
151
|
|
|
72
|
-
|
|
152
|
+
## Addressable 2.3.7 <a name="v2.3.7">
|
|
73
153
|
- fix scenario in which invalid URIs don't get an exception until inspected
|
|
74
154
|
- handle hostnames with two adjacent periods correctly
|
|
75
155
|
- upgrade of RSpec
|
|
76
156
|
|
|
77
|
-
|
|
157
|
+
## Addressable 2.3.6 <a name="v2.3.6">
|
|
78
158
|
- normalization drops empty query string
|
|
79
159
|
- better handling in template extract for missing values
|
|
80
160
|
- template modifier for `'?'` now treated as optional
|
|
@@ -83,19 +163,19 @@
|
|
|
83
163
|
- added `:sorted` option to normalization of query strings
|
|
84
164
|
- fixed issue with normalization of hosts given in `'example.com.'` form
|
|
85
165
|
|
|
86
|
-
|
|
166
|
+
## Addressable 2.3.5 <a name="v2.3.5">
|
|
87
167
|
- added Addressable::URI#empty? method
|
|
88
168
|
- Addressable::URI#hostname methods now strip square brackets from IPv6 hosts
|
|
89
169
|
- compatibility with Net::HTTP in Ruby 2.0.0
|
|
90
170
|
- Addressable::URI#route_from should always give relative URIs
|
|
91
171
|
|
|
92
|
-
|
|
172
|
+
## Addressable 2.3.4 <a name="v2.3.4">
|
|
93
173
|
- fixed issue with encoding altering its inputs
|
|
94
174
|
- query string normalization now leaves ';' characters alone
|
|
95
175
|
- FakeFS is detected before attempting to load unicode tables
|
|
96
176
|
- additional testing to ensure frozen objects don't cause problems
|
|
97
177
|
|
|
98
|
-
|
|
178
|
+
## Addressable 2.3.3 <a name="v2.3.3">
|
|
99
179
|
- fixed issue with converting common primitives during template expansion
|
|
100
180
|
- fixed port encoding issue
|
|
101
181
|
- removed a few warnings
|
|
@@ -104,59 +184,59 @@
|
|
|
104
184
|
- no template match should now result in nil instead of an empty MatchData
|
|
105
185
|
- added license information to gemspec
|
|
106
186
|
|
|
107
|
-
|
|
187
|
+
## Addressable 2.3.2 <a name="v2.3.2">
|
|
108
188
|
- added Addressable::URI#default_port method
|
|
109
189
|
- fixed issue with Marshalling Unicode data on Windows
|
|
110
190
|
- improved heuristic parsing to better handle IPv4 addresses
|
|
111
191
|
|
|
112
|
-
|
|
192
|
+
## Addressable 2.3.1 <a name="v2.3.1">
|
|
113
193
|
- fixed missing unicode data file
|
|
114
194
|
|
|
115
|
-
|
|
195
|
+
## Addressable 2.3.0 <a name="v2.3.0">
|
|
116
196
|
- updated Addressable::Template to use RFC 6570, level 4
|
|
117
197
|
- fixed compatibility problems with some versions of Ruby
|
|
118
198
|
- moved unicode tables into a data file for performance reasons
|
|
119
199
|
- removing support for multiple query value notations
|
|
120
200
|
|
|
121
|
-
|
|
201
|
+
## Addressable 2.2.8 <a name="v2.2.8">
|
|
122
202
|
- fixed issues with dot segment removal code
|
|
123
203
|
- form encoding can now handle multiple values per key
|
|
124
204
|
- updated development environment
|
|
125
205
|
|
|
126
|
-
|
|
206
|
+
## Addressable 2.2.7 <a name="v2.2.7">
|
|
127
207
|
- fixed issues related to Addressable::URI#query_values=
|
|
128
208
|
- the Addressable::URI.parse method is now polymorphic
|
|
129
209
|
|
|
130
|
-
|
|
210
|
+
## Addressable 2.2.6 <a name="v2.2.6">
|
|
131
211
|
- changed the way ambiguous paths are handled
|
|
132
212
|
- fixed bug with frozen URIs
|
|
133
213
|
- https supported in heuristic parsing
|
|
134
214
|
|
|
135
|
-
|
|
215
|
+
## Addressable 2.2.5 <a name="v2.2.5">
|
|
136
216
|
- 'parsing' a pre-parsed URI object is now a dup operation
|
|
137
217
|
- introduced conditional support for libidn
|
|
138
218
|
- fixed normalization issue on ampersands in query strings
|
|
139
219
|
- added additional tests around handling of query strings
|
|
140
220
|
|
|
141
|
-
|
|
221
|
+
## Addressable 2.2.4 <a name="v2.2.4">
|
|
142
222
|
- added origin support from draft-ietf-websec-origin-00
|
|
143
223
|
- resolved issue with attempting to navigate below root
|
|
144
224
|
- fixed bug with string splitting in query strings
|
|
145
225
|
|
|
146
|
-
|
|
226
|
+
## Addressable 2.2.3 <a name="v2.2.3">
|
|
147
227
|
- added :flat_array notation for query strings
|
|
148
228
|
|
|
149
|
-
|
|
229
|
+
## Addressable 2.2.2 <a name="v2.2.2">
|
|
150
230
|
- fixed issue with percent escaping of '+' character in query strings
|
|
151
231
|
|
|
152
|
-
|
|
232
|
+
## Addressable 2.2.1 <a name="v2.2.1">
|
|
153
233
|
- added support for application/x-www-form-urlencoded.
|
|
154
234
|
|
|
155
|
-
|
|
235
|
+
## Addressable 2.2.0 <a name="v2.2.0">
|
|
156
236
|
- added site methods
|
|
157
237
|
- improved documentation
|
|
158
238
|
|
|
159
|
-
|
|
239
|
+
## Addressable 2.1.2 <a name="v2.1.2">
|
|
160
240
|
- added HTTP request URI methods
|
|
161
241
|
- better handling of Windows file paths
|
|
162
242
|
- validation_deferred boolean replaced with defer_validation block
|
|
@@ -164,14 +244,14 @@
|
|
|
164
244
|
- fixed issue with constructing URIs with relative paths
|
|
165
245
|
- fixed warnings
|
|
166
246
|
|
|
167
|
-
|
|
247
|
+
## Addressable 2.1.1 <a name="v2.1.1">
|
|
168
248
|
- more type checking changes
|
|
169
249
|
- fixed issue with unicode normalization
|
|
170
250
|
- added method to find template defaults
|
|
171
251
|
- symbolic keys are now allowed in template mappings
|
|
172
252
|
- numeric values and symbolic values are now allowed in template mappings
|
|
173
253
|
|
|
174
|
-
|
|
254
|
+
## Addressable 2.1.0 <a name="v2.1.0x">
|
|
175
255
|
- refactored URI template support out into its own class
|
|
176
256
|
- removed extract method due to being useless and unreliable
|
|
177
257
|
- removed Addressable::URI.expand_template
|
|
@@ -185,15 +265,15 @@
|
|
|
185
265
|
- worked around issue with freezing URIs
|
|
186
266
|
- improved specs
|
|
187
267
|
|
|
188
|
-
|
|
268
|
+
## Addressable 2.0.2 <a name="v2.0.2">
|
|
189
269
|
- fixed issue with URI template expansion
|
|
190
270
|
- fixed issue with percent escaping characters 0-15
|
|
191
271
|
|
|
192
|
-
|
|
272
|
+
## Addressable 2.0.1 <a name="v2.0.1">
|
|
193
273
|
- fixed issue with query string assignment
|
|
194
274
|
- fixed issue with improperly encoded components
|
|
195
275
|
|
|
196
|
-
|
|
276
|
+
## Addressable 2.0.0 <a name="v2.0.0">
|
|
197
277
|
- the initialize method now takes an options hash as its only parameter
|
|
198
278
|
- added query_values method to URI class
|
|
199
279
|
- completely replaced IDNA implementation with pure Ruby
|
|
@@ -208,20 +288,20 @@
|
|
|
208
288
|
- updated URI Template code to match v 03 of the draft spec
|
|
209
289
|
- added a bunch of new specifications
|
|
210
290
|
|
|
211
|
-
|
|
291
|
+
## Addressable 1.0.4 <a name="v1.0.4">
|
|
212
292
|
- switched to using RSpec's pending system for specs that rely on IDN
|
|
213
293
|
- fixed issue with creating URIs with paths that are not prefixed with '/'
|
|
214
294
|
|
|
215
|
-
|
|
295
|
+
## Addressable 1.0.3 <a name="v1.0.3">
|
|
216
296
|
- implemented a hash method
|
|
217
297
|
|
|
218
|
-
|
|
298
|
+
## Addressable 1.0.2 <a name="v1.0.2">
|
|
219
299
|
- fixed minor bug with the extract_mapping method
|
|
220
300
|
|
|
221
|
-
|
|
301
|
+
## Addressable 1.0.1 <a name="v1.0.1">
|
|
222
302
|
- fixed minor bug with the extract_mapping method
|
|
223
303
|
|
|
224
|
-
|
|
304
|
+
## Addressable 1.0.0 <a name="v1.0.0">
|
|
225
305
|
- heuristic parse method added
|
|
226
306
|
- parsing is slightly more strict
|
|
227
307
|
- replaced to_h with to_hash
|
|
@@ -230,16 +310,16 @@
|
|
|
230
310
|
- improved heckle rake task
|
|
231
311
|
- no surviving heckle mutations
|
|
232
312
|
|
|
233
|
-
|
|
313
|
+
## Addressable 0.1.2 <a name="v0.1.2">
|
|
234
314
|
- improved normalization
|
|
235
315
|
- fixed bug in joining algorithm
|
|
236
316
|
- updated specifications
|
|
237
317
|
|
|
238
|
-
|
|
318
|
+
## Addressable 0.1.1 <a name="v0.1.1">
|
|
239
319
|
- updated documentation
|
|
240
320
|
- added URI Template variable extraction
|
|
241
321
|
|
|
242
|
-
|
|
322
|
+
## Addressable 0.1.0 <a name="v0.1.0">
|
|
243
323
|
- initial release
|
|
244
324
|
- implementation based on RFC 3986, 3987
|
|
245
325
|
- support for IRIs via libidn
|
data/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
[coveralls]: https://coveralls.io/r/sporkmonger/addressable
|
|
18
18
|
[inch]: https://inch-ci.org/github/sporkmonger/addressable
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
## Description
|
|
21
21
|
|
|
22
22
|
Addressable is an alternative implementation to the URI implementation
|
|
23
23
|
that is part of Ruby's standard library. It is flexible, offers heuristic
|
|
@@ -25,12 +25,12 @@ parsing, and additionally provides extensive support for IRIs and URI templates.
|
|
|
25
25
|
|
|
26
26
|
Addressable closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4).
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
## Reference
|
|
29
29
|
|
|
30
30
|
- {Addressable::URI}
|
|
31
31
|
- {Addressable::Template}
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
## Example usage
|
|
34
34
|
|
|
35
35
|
```ruby
|
|
36
36
|
require "addressable/uri"
|
|
@@ -49,7 +49,7 @@ uri.normalize
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
## URI Templates
|
|
53
53
|
|
|
54
54
|
For more details, see [RFC 6570](https://www.rfc-editor.org/rfc/rfc6570.txt).
|
|
55
55
|
|
|
@@ -88,7 +88,7 @@ template.extract(uri)
|
|
|
88
88
|
# }
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
## Install
|
|
92
92
|
|
|
93
93
|
```console
|
|
94
94
|
$ gem install addressable
|
|
@@ -103,7 +103,7 @@ $ brew install libidn # OS X
|
|
|
103
103
|
$ gem install idn-ruby
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
## Semantic Versioning
|
|
107
107
|
|
|
108
108
|
This project uses [Semantic Versioning](https://semver.org/). You can (and should) specify your
|
|
109
109
|
dependency using a pessimistic version constraint covering the major and minor
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# encoding:utf-8
|
|
4
3
|
#--
|
|
5
4
|
# Copyright (C) Bob Aman
|
|
6
5
|
#
|
|
@@ -30,8 +29,14 @@ module Addressable
|
|
|
30
29
|
IDN::Punycode.decode(value.to_s)
|
|
31
30
|
end
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
class << self
|
|
33
|
+
# @deprecated Use {String#unicode_normalize(:nfkc)} instead
|
|
34
|
+
def unicode_normalize_kc(value)
|
|
35
|
+
value.to_s.unicode_normalize(:nfkc)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
extend Gem::Deprecate
|
|
39
|
+
deprecate :unicode_normalize_kc, "String#unicode_normalize(:nfkc)", 2023, 4
|
|
35
40
|
end
|
|
36
41
|
|
|
37
42
|
def self.to_ascii(value)
|