psych 3.3.2 → 3.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/psych/scalar_scanner.rb +2 -2
- data/lib/psych/versions.rb +2 -2
- data/lib/psych/visitors/to_ruby.rb +3 -1
- data/lib/psych/visitors/yaml_tree.rb +8 -8
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1614b04a5a806644859542b1db0eecd24fa9b8fe9c8af6bd670ba8fd558298fe
|
4
|
+
data.tar.gz: c14e82662ae31ae97b79cf32eb1d4f331c65b555297b94af2e3f653759642169
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 975cd8b825d358d91ada09f9909b11c92c639dc2e1950f1fe95fb4c217c30b2e8dd8cf1215bb38588d56033f483a938fa32c409408e7ae70b0ef9c9d9fae3573
|
7
|
+
data.tar.gz: 7c4d25c3b16fc5f5439258d6513281eb29e9aad566e78ee4916f0108944cd6201b59fab1321f3074258a9e7f50083e6d695a9995790f9dacc1ae6d9749138b31
|
data/lib/psych/scalar_scanner.rb
CHANGED
@@ -34,7 +34,7 @@ module Psych
|
|
34
34
|
|
35
35
|
# Check for a String type, being careful not to get caught by hash keys, hex values, and
|
36
36
|
# special floats (e.g., -.inf).
|
37
|
-
if string.match?(
|
37
|
+
if string.match?(%r{^[^\d.:-]?[[:alpha:]_\s!@#$%\^&*(){}<>|/\\~;=]+}) || string.match?(/\n/)
|
38
38
|
return string if string.length > 5
|
39
39
|
|
40
40
|
if string.match?(/^[^ytonf~]/i)
|
@@ -57,7 +57,7 @@ module Psych
|
|
57
57
|
elsif string.match?(/^\d{4}-(?:1[012]|0\d|\d)-(?:[12]\d|3[01]|0\d|\d)$/)
|
58
58
|
require 'date'
|
59
59
|
begin
|
60
|
-
class_loader.date.strptime(string, '%
|
60
|
+
class_loader.date.strptime(string, '%F', Date::GREGORIAN)
|
61
61
|
rescue ArgumentError
|
62
62
|
string
|
63
63
|
end
|
data/lib/psych/versions.rb
CHANGED
@@ -80,7 +80,9 @@ module Psych
|
|
80
80
|
when "!ruby/object:DateTime"
|
81
81
|
class_loader.date_time
|
82
82
|
require 'date' unless defined? DateTime
|
83
|
-
@ss.parse_time(o.value)
|
83
|
+
t = @ss.parse_time(o.value)
|
84
|
+
DateTime.civil(*t.to_a[0, 6].reverse, Rational(t.utc_offset, 86400)) +
|
85
|
+
(t.subsec/86400)
|
84
86
|
when '!ruby/encoding'
|
85
87
|
::Encoding.find o.value
|
86
88
|
when "!ruby/object:Complex"
|
@@ -192,12 +192,13 @@ module Psych
|
|
192
192
|
register o, @emitter.scalar(o.inspect, nil, '!ruby/regexp', false, false, Nodes::Scalar::ANY)
|
193
193
|
end
|
194
194
|
|
195
|
+
def visit_Date o
|
196
|
+
register o, visit_Integer(o.gregorian)
|
197
|
+
end
|
198
|
+
|
195
199
|
def visit_DateTime o
|
196
|
-
|
197
|
-
|
198
|
-
else
|
199
|
-
o.strftime("%Y-%m-%d %H:%M:%S.%9N %:z".freeze)
|
200
|
-
end
|
200
|
+
t = o.italy
|
201
|
+
formatted = format_time t, t.offset.zero?
|
201
202
|
tag = '!ruby/object:DateTime'
|
202
203
|
register o, @emitter.scalar(formatted, nil, tag, false, false, Nodes::Scalar::ANY)
|
203
204
|
end
|
@@ -235,7 +236,6 @@ module Psych
|
|
235
236
|
end
|
236
237
|
alias :visit_TrueClass :visit_Integer
|
237
238
|
alias :visit_FalseClass :visit_Integer
|
238
|
-
alias :visit_Date :visit_Integer
|
239
239
|
|
240
240
|
def visit_Float o
|
241
241
|
if o.nan?
|
@@ -480,8 +480,8 @@ module Psych
|
|
480
480
|
@emitter.end_mapping
|
481
481
|
end
|
482
482
|
|
483
|
-
def format_time time
|
484
|
-
if
|
483
|
+
def format_time time, utc = time.utc?
|
484
|
+
if utc
|
485
485
|
time.strftime("%Y-%m-%d %H:%M:%S.%9N Z")
|
486
486
|
else
|
487
487
|
time.strftime("%Y-%m-%d %H:%M:%S.%9N %:z")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: psych
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Patterson
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2022-09-28 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: |
|
16
16
|
Psych is a YAML parser and emitter. Psych leverages libyaml[https://pyyaml.org/wiki/LibYAML]
|
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: '0'
|
119
119
|
requirements: []
|
120
|
-
rubygems_version: 3.
|
120
|
+
rubygems_version: 3.4.0.dev
|
121
121
|
signing_key:
|
122
122
|
specification_version: 4
|
123
123
|
summary: Psych is a YAML parser and emitter
|