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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b263a55abf16d57caf2c85268f108dc87059f9188c21e1b2a622129a6a8056f9
4
- data.tar.gz: dcd7ae19f1d52c9615d1d4dd169a632483e8bc40f6303f0f4591aff8b1684c30
3
+ metadata.gz: e3cd35014222c85dc46a7d9cc3622ae85729d055a218ab89899aaee638d774bb
4
+ data.tar.gz: abab0a3805fad843a6c1ac6e6f09e28e5cd0c3874f6e58e1cc3bf86dbdbaec9b
5
5
  SHA512:
6
- metadata.gz: 999a6efa21ae21f9defc24546fa66e083ae9cf95dde6e6d93266c5ad75542b7c1a2923d19bda028124c1f825e447ab4062faf44ba31d6bf1199447e51492d582
7
- data.tar.gz: 13afb6d81ca5795279dcebd790b4fae32d3e41abff68faacc7510d20c6557d0d358fb1bd217feee8d95b7aeb21b7b36cfc6f0d7f21e31a5e92e6e97f1f5c1292
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.1".freeze
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yeptris
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.8.1
4
+ version: 0.6.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.