yeptris 0.6.8.1 → 0.6.8.2
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/lib/yeptris/psych/drop_in.rb +19 -0
- data/lib/yeptris.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e3cd35014222c85dc46a7d9cc3622ae85729d055a218ab89899aaee638d774bb
|
|
4
|
+
data.tar.gz: abab0a3805fad843a6c1ac6e6f09e28e5cd0c3874f6e58e1cc3bf86dbdbaec9b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2af308efb9fc6d825adc204d950ed2c2496fcaad50194015711c6d89dec0c4c32a7630e5644c0edc1df880fa684311d1aa7ddabfb7572e05a9d28d7ae81df1fb
|
|
7
|
+
data.tar.gz: 3ce1d7a886d39e9afafacd94f0869152b0d21cacb548ce49b76b929c7a705163ce8dc996e636a40541d7e334d4a3aa49a0ee3a79488dac55477ebdb570f76303
|
|
@@ -21,3 +21,22 @@ end
|
|
|
21
21
|
# rebind is this file's whole purpose
|
|
22
22
|
Object.class_eval { remove_const(:Psych) } if defined?(::Psych) && !::Psych.equal?(Yeptris::Psych)
|
|
23
23
|
::Psych = Yeptris::Psych
|
|
24
|
+
|
|
25
|
+
# yaml-first boot order: ::YAML still references the ORIGINAL stdlib
|
|
26
|
+
# module object, whose singleton methods route through stdlib's parse
|
|
27
|
+
# stream — the UTF-8 tagging (and every other normalization) never
|
|
28
|
+
# runs (#135's spec/sdo discriminant). Delegate the original's public
|
|
29
|
+
# singleton surface to the Yeptris face so BOTH constants behave
|
|
30
|
+
# identically regardless of which module object a caller holds.
|
|
31
|
+
# ORIGINAL exists only when stdlib psych was already loaded (the
|
|
32
|
+
# drop-in-before-psych order needs no delegation — nothing references
|
|
33
|
+
# the original yet).
|
|
34
|
+
if ::Yeptris::Psych.const_defined?(:ORIGINAL, false)
|
|
35
|
+
::Psych::ORIGINAL.singleton_class.class_eval do
|
|
36
|
+
::Psych::ORIGINAL.singleton_methods(false).each do |m|
|
|
37
|
+
define_method(m) do |*args, **kwargs, &block|
|
|
38
|
+
::Yeptris::Psych.public_send(m, *args, **kwargs, &block)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
data/lib/yeptris.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Yeptris
|
|
4
4
|
# The gem's version lives in the parent namespace's file — the last
|
|
5
5
|
# internal require (yeptris/version) retired with it.
|
|
6
|
-
VERSION = "0.6.8.
|
|
6
|
+
VERSION = "0.6.8.2".freeze
|
|
7
7
|
# The error hierarchy lives in THIS file (the parent namespace's
|
|
8
8
|
# own file): nested constants do not trigger a parent-constant
|
|
9
9
|
# autoload, and the law forbids internal requires — defining the
|