psych 5.2.2 → 5.2.4
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/README.md +17 -10
- data/ext/psych/psych.c +0 -1
- data/ext/psych/psych_emitter.c +0 -1
- data/ext/psych/psych_parser.c +0 -1
- data/ext/psych/psych_to_ruby.c +0 -1
- data/ext/psych/psych_yaml_tree.c +0 -1
- data/lib/psych/core_ext.rb +14 -0
- data/lib/psych/nodes/node.rb +2 -1
- data/lib/psych/versions.rb +2 -2
- data/lib/psych/visitors/yaml_tree.rb +6 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 459c567be3d6ef6cb06cab52abb277a79f2f631da2944bd15622f23fdd3b1dec
|
4
|
+
data.tar.gz: 72aff05916df6027d69d9fe22562c5f5b700066f9d00670445450cdd2939ce4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87e6d5b1fa471069209207f4bca47d5b3158ce4d2909f18a497cb0b7b9b6d76e086553dc905e5b9fc92e5f620c1571db1db87531f8ba9fcbb2b685c12774d3df
|
7
|
+
data.tar.gz: d837ad140affbd97a8a6d4c6d7088d30f907cc0c5c7743367801b2fd8d2e8f0683f53a0e187541e6eee296b0c3fd5a69ad758b841e88548265e39a550eef29ef
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Psych
|
2
2
|
|
3
|
-
*
|
4
|
-
*
|
3
|
+
* https://github.com/ruby/psych
|
4
|
+
* https://docs.ruby-lang.org/en/master/Psych.html
|
5
5
|
|
6
6
|
## Description
|
7
7
|
|
@@ -22,31 +22,38 @@ Psych.dump("foo") # => "--- foo\n...\n"
|
|
22
22
|
|
23
23
|
## Dependencies
|
24
24
|
|
25
|
-
*
|
25
|
+
* libyaml
|
26
26
|
|
27
27
|
## Installation
|
28
28
|
|
29
29
|
Psych has been included with MRI since 1.9.2, and is the default YAML parser
|
30
30
|
in 1.9.3.
|
31
31
|
|
32
|
-
If you want a newer gem release of Psych, you can use
|
33
|
-
|
34
|
-
gem install psych
|
32
|
+
If you want a newer gem release of Psych, you can use RubyGems:
|
35
33
|
|
34
|
+
```bash
|
35
|
+
gem install psych
|
36
|
+
```
|
36
37
|
|
37
38
|
Psych supported the static build with specific version of libyaml sources. You can build psych with libyaml-0.2.5 like this.
|
38
39
|
|
39
|
-
|
40
|
+
```bash
|
41
|
+
gem install psych -- --with-libyaml-source-dir=/path/to/libyaml-0.2.5
|
42
|
+
```
|
40
43
|
|
41
44
|
In order to use the gem release in your app, and not the stdlib version,
|
42
45
|
you'll need the following:
|
43
46
|
|
44
|
-
|
45
|
-
|
47
|
+
```ruby
|
48
|
+
gem 'psych'
|
49
|
+
require 'psych'
|
50
|
+
```
|
46
51
|
|
47
52
|
Or if you use Bundler add this to your `Gemfile`:
|
48
53
|
|
49
|
-
|
54
|
+
```ruby
|
55
|
+
gem 'psych'
|
56
|
+
```
|
50
57
|
|
51
58
|
JRuby ships with a pure Java implementation of Psych.
|
52
59
|
|
data/ext/psych/psych.c
CHANGED
data/ext/psych/psych_emitter.c
CHANGED
data/ext/psych/psych_parser.c
CHANGED
data/ext/psych/psych_to_ruby.c
CHANGED
data/ext/psych/psych_yaml_tree.c
CHANGED
data/lib/psych/core_ext.rb
CHANGED
@@ -17,3 +17,17 @@ end
|
|
17
17
|
if defined?(::IRB)
|
18
18
|
require_relative 'y'
|
19
19
|
end
|
20
|
+
|
21
|
+
|
22
|
+
# TODO: how best to check for builtin Set?
|
23
|
+
if defined?(::Set) && Object.const_source_location(:Set) == ["ruby", 0]
|
24
|
+
class Set
|
25
|
+
def encode_with(coder)
|
26
|
+
coder["hash"] = to_h
|
27
|
+
end
|
28
|
+
|
29
|
+
def init_with(coder)
|
30
|
+
replace(coder["hash"].keys)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/psych/nodes/node.rb
CHANGED
@@ -55,7 +55,8 @@ module Psych
|
|
55
55
|
#
|
56
56
|
# See also Psych::Visitors::Emitter
|
57
57
|
def yaml io = nil, options = {}
|
58
|
-
require "stringio"
|
58
|
+
require "stringio" unless defined?(StringIO)
|
59
|
+
|
59
60
|
real_io = io || StringIO.new(''.encode('utf-8'))
|
60
61
|
|
61
62
|
Visitors::Emitter.new(real_io, options).accept self
|
data/lib/psych/versions.rb
CHANGED
@@ -189,7 +189,8 @@ module Psych
|
|
189
189
|
end
|
190
190
|
|
191
191
|
def visit_Date o
|
192
|
-
|
192
|
+
formatted = format_date o
|
193
|
+
register o, @emitter.scalar(formatted, nil, nil, true, false, Nodes::Scalar::ANY)
|
193
194
|
end
|
194
195
|
|
195
196
|
def visit_DateTime o
|
@@ -486,6 +487,10 @@ module Psych
|
|
486
487
|
end
|
487
488
|
end
|
488
489
|
|
490
|
+
def format_date date
|
491
|
+
date.strftime("%Y-%m-%d")
|
492
|
+
end
|
493
|
+
|
489
494
|
def register target, yaml_obj
|
490
495
|
@st.register target, yaml_obj
|
491
496
|
yaml_obj
|
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: 5.2.
|
4
|
+
version: 5.2.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: 2025-05-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: stringio
|