yeptris 0.6.28.3-aarch64-linux → 0.6.28.5-aarch64-linux

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: 81526337afc48e2d11bb870a5267503938ff2bb224e99dbf00bb492d84aafe55
4
- data.tar.gz: ed36fe4e3cadf2a6e91e20490356888a12d5897163dafab4a2031bf7a6e94fcd
3
+ metadata.gz: 224b67a84e7f56c636d8d71b07564210942e302683b63156ad83320f40e49dd1
4
+ data.tar.gz: b0ec609d9f973fb22eb9f4b17fa2ed5d58e524792f80f798561b0840ba56047f
5
5
  SHA512:
6
- metadata.gz: 6461d5211d11daf11e23e5ce8b7d80546992ec2b778e2d4180ab494bf13f52ec9743d1d4ff080b65ac95a5bf7333d0f5d41340a89517e25522514c949d748ce1
7
- data.tar.gz: fc793831884837e970b393e8c3d3b31aa5eccd84876330736762da3a1ecbd93f4c6693113b2a03ca563c81fbf16c7eabc40d6cbad2ae499d80c395a0df22d46b
6
+ metadata.gz: 76af71ffe4d1c691740bc873e2847dae568a19ba50abca80f2d9ffb27f836d76137b2442b26c202319c63c5b2dc5712f09527f4388bd09dee84a170f86f5bde1
7
+ data.tar.gz: 98af7738734260b9d6de6faaad9f2d962dbbff272502e982133aeb70ca8c450b47b935b1ca4bbe1575e56bf95862ba9f21db115567039d23fb237adf2f35711c
Binary file
Binary file
@@ -122,21 +122,30 @@ module Yeptris
122
122
  # the ported test_julian_date otherwise)
123
123
  return ::Date.strptime(v, "%F", ::Date::GREGORIAN) unless v.match?(/[Tt ]\d/)
124
124
 
125
- # normalize the YAML 1.1 space forms onto iso8601 for
126
- # xmlschema: "2001-12-14 21:59:43.10 -05:00" ->
127
- # "2001-12-14T21:59:43.10-05:00" (Psych's scanner does the
128
- # same dance)
129
- ts = v.sub(/ (\d)/, 'T\1').sub(/ ([+-]\d)/, '\1').sub(/ +Z\z/i, 'Z')
130
- # Psych reads a NAIVE timestamp (no zone, no Z) as a UTC
131
- # instant expressed in the local zone — one wall-clock hour
132
- # off from reading it as local time (pinned by spec against
133
- # Psych.unsafe_load across tz shapes)
134
- if ts.match?(/(Z|[+-]\d\d:?\d\d)\z/i)
135
- Time.xmlschema(ts)
136
- else
137
- Time.xmlschema(ts + "Z").getlocal
138
- end
139
- rescue ArgumentError
125
+ # stdlib scalar_scanner's parse_time, verbatim arithmetic:
126
+ # Time.xmlschema REJECTS the short offsets psych accepts
127
+ # ("2001-12-14 21:59:43 -5" — psych's zone is [-+]\d+(:\d\d)?),
128
+ # so a tagged timestamp must not ride xmlschema's zone
129
+ # grammar; the offset is applied by hand exactly as psych
130
+ # does, and a NAIVE timestamp (no zone, no Z) is read as a
131
+ # UTC instant in the local zone (klass.at in psych — one
132
+ # wall-clock hour off from reading it as local time; pinned
133
+ # by spec against Psych.unsafe_load across tz shapes)
134
+ date, time = v.split(/[Tt]|\s+/, 2)
135
+ (yy, m, dd) = date.match(/^(-?\d{4})-(\d{1,2})-(\d{1,2})/).captures.map(&:to_i)
136
+ md = time.match(/(\d+:\d+:\d+)(?:\.(\d*))?\s*(Z|[-+]\d+(:\d\d)?)?/)
137
+ (hh, mm, ss) = md[1].split(":").map(&:to_i)
138
+ us = (md[2] ? Rational("0.#{md[2]}") : 0) * 1_000_000
139
+
140
+ t = ::Time.utc(yy, m, dd, hh, mm, ss, us)
141
+ return t if md[3] == "Z"
142
+ return t.getlocal unless md[3]
143
+
144
+ tz = md[3].match(/^([+-]?\d{1,2}):?(\d{1,2})?$/)[1..].compact.map { |d| Integer(d, 10) }
145
+ offset = tz.first * 3600
146
+ offset += (offset.negative? ? -1 : 1) * ((tz[1] || 0) * 60)
147
+ ::Time.new(yy, m, dd, hh, mm, ss + Rational(us, 1_000_000), offset)
148
+ rescue ArgumentError, NoMethodError
140
149
  v
141
150
  end
142
151
 
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.28.3".freeze
6
+ VERSION = "0.6.28.5".freeze
7
7
 
8
8
  # Informational notices are OPT-IN (yeptris-ruby#217): consumers
9
9
  # embed yeptris inside CLIs that assert clean stderr, and a
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yeptris
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.28.3
4
+ version: 0.6.28.5
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-02 00:00:00.000000000 Z
11
+ date: 2026-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -42,6 +42,8 @@ files:
42
42
  - ext/yeptris_native/yeptris_native.c
43
43
  - lib/yeptris.rb
44
44
  - lib/yeptris/3.3/native.so
45
+ - lib/yeptris/3.4/native.so
46
+ - lib/yeptris/4.0/native.so
45
47
  - lib/yeptris/cbor.rb
46
48
  - lib/yeptris/document.rb
47
49
  - lib/yeptris/ffi.rb