psych 5.2.3-java → 5.2.4-java
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/ext/java/org/jruby/ext/psych/PsychLibrary.java +11 -7
- data/lib/psych/core_ext.rb +14 -0
- data/lib/psych/nodes/node.rb +2 -1
- data/lib/psych/versions.rb +1 -1
- data/lib/psych/visitors/yaml_tree.rb +6 -1
- data/lib/psych.jar +0 -0
- 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: 8a97e733fa3c4ea8606ef1f5288d033dcf27f4a488d74fe2124ee689c62f1f78
|
4
|
+
data.tar.gz: 577a281e8dcd0dd1cc2508eaab0b3145f490083e323966d3ca4695411e4ff6b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cd02e8732496426e0a87dad9d4d631136bf7dfe48067e7b5541b9d90d53964367129e20a656a164a0008834585502939902fc4c3af8cbccb273cd8cc10e3238
|
7
|
+
data.tar.gz: 986ce2cc86e399c46f096a30cf8a87c9d3d6f3025f3a48e50bf3838f253b0f213d7f797db7d955d77d8a87a227dfcc8ac97a8baf19910be59c74fd4a539d48b0
|
@@ -41,11 +41,15 @@ import org.jruby.runtime.Visibility;
|
|
41
41
|
import org.jruby.runtime.builtin.IRubyObject;
|
42
42
|
import org.jruby.runtime.load.Library;
|
43
43
|
|
44
|
+
import org.snakeyaml.engine.v2.common.SpecVersion;
|
45
|
+
|
44
46
|
import java.io.IOException;
|
45
47
|
import java.io.InputStream;
|
46
48
|
import java.util.Properties;
|
47
49
|
|
48
50
|
public class PsychLibrary implements Library {
|
51
|
+
|
52
|
+
private static final String POM_PROPERTIES = "META-INF/maven/org.snakeyaml/snakeyaml-engine/pom.properties";
|
49
53
|
private static final String DUMMY_VERSION = "0.0";
|
50
54
|
|
51
55
|
public void load(final Ruby runtime, boolean wrap) {
|
@@ -53,23 +57,23 @@ public class PsychLibrary implements Library {
|
|
53
57
|
|
54
58
|
// load version from properties packed with the jar
|
55
59
|
Properties props = new Properties();
|
56
|
-
try( InputStream is =
|
57
|
-
props.load(is);
|
60
|
+
try( InputStream is = SpecVersion.class.getResourceAsStream(POM_PROPERTIES) ) {
|
61
|
+
if (is != null) props.load(is);
|
58
62
|
}
|
59
63
|
catch( IOException e ) {
|
60
64
|
// ignored
|
61
65
|
}
|
62
66
|
String snakeyamlVersion = props.getProperty("version", DUMMY_VERSION);
|
63
67
|
|
68
|
+
RubyString version = runtime.newString(snakeyamlVersion);
|
69
|
+
version.setFrozen(true);
|
70
|
+
psych.setConstant("SNAKEYAML_VERSION", version); // e.g. 2.10-SNAPSHOT
|
71
|
+
|
64
72
|
if (snakeyamlVersion.endsWith("-SNAPSHOT")) {
|
65
73
|
snakeyamlVersion = snakeyamlVersion.substring(0, snakeyamlVersion.length() - "-SNAPSHOT".length());
|
66
74
|
}
|
67
75
|
|
68
|
-
|
69
|
-
version.setFrozen(true);
|
70
|
-
psych.setConstant("SNAKEYAML_VERSION", version);
|
71
|
-
|
72
|
-
String[] versionParts = version.toString().split("\\.");
|
76
|
+
String[] versionParts = (snakeyamlVersion + ".0").split("\\."); // 2.10-SNAPSHOT -> 2.10.0
|
73
77
|
final RubyArray versionElements = runtime.newArray(runtime.newFixnum(Integer.parseInt(versionParts[0])), runtime.newFixnum(Integer.parseInt(versionParts[1])), runtime.newFixnum(Integer.parseInt(versionParts[2])));
|
74
78
|
versionElements.setFrozen(true);
|
75
79
|
|
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
|
data/lib/psych.jar
CHANGED
Binary file
|
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: java
|
6
6
|
authors:
|
7
7
|
- Aaron Patterson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
- Charles Oliver Nutter
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-01
|
12
|
+
date: 2025-05-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jar-dependencies
|