psych 5.2.6-java → 5.3.0-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/README.md +10 -0
- data/ext/psych/extconf.rb +5 -2
- data/ext/psych/psych_to_ruby.c +7 -6
- data/lib/psych/core_ext.rb +1 -5
- data/lib/psych/nodes/node.rb +2 -2
- data/lib/psych/scalar_scanner.rb +3 -2
- data/lib/psych/versions.rb +1 -1
- data/lib/psych/visitors/to_ruby.rb +4 -3
- data/lib/psych.jar +0 -0
- data/lib/psych.rb +7 -6
- 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: 65eaefc2581960794ad4248d45b20e3b103f3c507778c38a70c1368d31e205c3
|
|
4
|
+
data.tar.gz: 01001d898d3407f8f1adc4b95ec6cfb1a19597750599864a105da9505ae4296f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5a9b0231499d926d4d57c872e42e291a4ba79288d2bdaa7c82db389c3003b6ea14c18466e685a8da4ed096e4ac9de21d9a8489c7175d236c594afe4c18d5e037
|
|
7
|
+
data.tar.gz: be3b040be45154ffd386d8da11e27de35f517ec8f2caa3276a77168e9be5b524f1678d9c6d84662910ccdc30714c41178d55c233edcd1c61791616178f261f80
|
data/README.md
CHANGED
|
@@ -57,6 +57,16 @@ gem 'psych'
|
|
|
57
57
|
|
|
58
58
|
JRuby ships with a pure Java implementation of Psych.
|
|
59
59
|
|
|
60
|
+
## Release
|
|
61
|
+
|
|
62
|
+
We used the trusted publisher and [rubygems/release-gem](https://github.com/rubygems/release-gem) workflow.
|
|
63
|
+
|
|
64
|
+
We can release the new version with:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
git tag vXXX && git push origin vXXX
|
|
68
|
+
```
|
|
69
|
+
|
|
60
70
|
## License
|
|
61
71
|
|
|
62
72
|
Copyright 2009 Aaron Patterson, et al.
|
data/ext/psych/extconf.rb
CHANGED
|
@@ -36,8 +36,11 @@ if yaml_source
|
|
|
36
36
|
libyaml = "libyaml.#$LIBEXT"
|
|
37
37
|
$cleanfiles << libyaml
|
|
38
38
|
$LOCAL_LIBS.prepend("$(LIBYAML) ")
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
|
|
40
|
+
# default to pre-installed libyaml
|
|
41
|
+
elsif pkg_config('yaml-0.1')
|
|
42
|
+
# found with pkg-config
|
|
43
|
+
else
|
|
41
44
|
dir_config('libyaml')
|
|
42
45
|
find_header('yaml.h') or abort "yaml.h not found"
|
|
43
46
|
find_library('yaml', 'yaml_get_version') or abort "libyaml not found"
|
data/ext/psych/psych_to_ruby.c
CHANGED
|
@@ -10,7 +10,11 @@ static VALUE build_exception(VALUE self, VALUE klass, VALUE mesg)
|
|
|
10
10
|
{
|
|
11
11
|
VALUE e = rb_obj_alloc(klass);
|
|
12
12
|
|
|
13
|
+
#ifdef TRUFFLERUBY
|
|
14
|
+
rb_exc_set_message(e, mesg);
|
|
15
|
+
#else
|
|
13
16
|
rb_iv_set(e, "mesg", mesg);
|
|
17
|
+
#endif
|
|
14
18
|
|
|
15
19
|
return e;
|
|
16
20
|
}
|
|
@@ -24,12 +28,9 @@ static VALUE path2class(VALUE self, VALUE path)
|
|
|
24
28
|
return rb_path_to_class(path);
|
|
25
29
|
}
|
|
26
30
|
|
|
27
|
-
static VALUE
|
|
31
|
+
static VALUE init_data(VALUE self, VALUE data, VALUE values)
|
|
28
32
|
{
|
|
29
|
-
|
|
30
|
-
rb_ary_push(args, attrs);
|
|
31
|
-
rb_struct_initialize(data, args);
|
|
32
|
-
|
|
33
|
+
rb_struct_initialize(data, values);
|
|
33
34
|
return data;
|
|
34
35
|
}
|
|
35
36
|
|
|
@@ -42,7 +43,7 @@ void Init_psych_to_ruby(void)
|
|
|
42
43
|
VALUE visitor = rb_define_class_under(visitors, "Visitor", rb_cObject);
|
|
43
44
|
cPsychVisitorsToRuby = rb_define_class_under(visitors, "ToRuby", visitor);
|
|
44
45
|
|
|
45
|
-
rb_define_private_method(cPsychVisitorsToRuby, "
|
|
46
|
+
rb_define_private_method(cPsychVisitorsToRuby, "init_data", init_data, 2);
|
|
46
47
|
rb_define_private_method(cPsychVisitorsToRuby, "build_exception", build_exception, 2);
|
|
47
48
|
rb_define_private_method(class_loader, "path2class", path2class, 1);
|
|
48
49
|
}
|
data/lib/psych/core_ext.rb
CHANGED
|
@@ -14,13 +14,9 @@ class Object
|
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
if defined?(::IRB)
|
|
18
|
-
require_relative 'y'
|
|
19
|
-
end
|
|
20
|
-
|
|
21
17
|
# Up to Ruby 3.4, Set was a regular object and was dumped as such
|
|
22
18
|
# by Pysch.
|
|
23
|
-
# Starting from Ruby
|
|
19
|
+
# Starting from Ruby 4.0 it's a core class written in C, so we have to implement
|
|
24
20
|
# #encode_with / #init_with to preserve backward compatibility.
|
|
25
21
|
if defined?(::Set) && Set.new.instance_variables.empty?
|
|
26
22
|
class Set
|
data/lib/psych/nodes/node.rb
CHANGED
|
@@ -45,8 +45,8 @@ module Psych
|
|
|
45
45
|
# Convert this node to Ruby.
|
|
46
46
|
#
|
|
47
47
|
# See also Psych::Visitors::ToRuby
|
|
48
|
-
def to_ruby(symbolize_names: false, freeze: false, strict_integer: false)
|
|
49
|
-
Visitors::ToRuby.create(symbolize_names: symbolize_names, freeze: freeze, strict_integer: strict_integer).accept(self)
|
|
48
|
+
def to_ruby(symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true)
|
|
49
|
+
Visitors::ToRuby.create(symbolize_names: symbolize_names, freeze: freeze, strict_integer: strict_integer, parse_symbols: parse_symbols).accept(self)
|
|
50
50
|
end
|
|
51
51
|
alias :transform :to_ruby
|
|
52
52
|
|
data/lib/psych/scalar_scanner.rb
CHANGED
|
@@ -27,10 +27,11 @@ module Psych
|
|
|
27
27
|
attr_reader :class_loader
|
|
28
28
|
|
|
29
29
|
# Create a new scanner
|
|
30
|
-
def initialize class_loader, strict_integer: false
|
|
30
|
+
def initialize class_loader, strict_integer: false, parse_symbols: true
|
|
31
31
|
@symbol_cache = {}
|
|
32
32
|
@class_loader = class_loader
|
|
33
33
|
@strict_integer = strict_integer
|
|
34
|
+
@parse_symbols = parse_symbols
|
|
34
35
|
end
|
|
35
36
|
|
|
36
37
|
# Tokenize +string+ returning the Ruby object
|
|
@@ -72,7 +73,7 @@ module Psych
|
|
|
72
73
|
-Float::INFINITY
|
|
73
74
|
elsif string.match?(/^\.nan$/i)
|
|
74
75
|
Float::NAN
|
|
75
|
-
elsif string.match?(/^:./)
|
|
76
|
+
elsif @parse_symbols && string.match?(/^:./)
|
|
76
77
|
if string =~ /^:(["'])(.*)\1/
|
|
77
78
|
@symbol_cache[string] = class_loader.symbolize($2.sub(/^:/, ''))
|
|
78
79
|
else
|
data/lib/psych/versions.rb
CHANGED
|
@@ -12,9 +12,9 @@ module Psych
|
|
|
12
12
|
###
|
|
13
13
|
# This class walks a YAML AST, converting each node to Ruby
|
|
14
14
|
class ToRuby < Psych::Visitors::Visitor
|
|
15
|
-
def self.create(symbolize_names: false, freeze: false, strict_integer: false)
|
|
15
|
+
def self.create(symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true)
|
|
16
16
|
class_loader = ClassLoader.new
|
|
17
|
-
scanner = ScalarScanner.new class_loader, strict_integer: strict_integer
|
|
17
|
+
scanner = ScalarScanner.new class_loader, strict_integer: strict_integer, parse_symbols: parse_symbols
|
|
18
18
|
new(scanner, class_loader, symbolize_names: symbolize_names, freeze: freeze)
|
|
19
19
|
end
|
|
20
20
|
|
|
@@ -219,7 +219,8 @@ module Psych
|
|
|
219
219
|
revive_data_members(members, o)
|
|
220
220
|
end
|
|
221
221
|
data ||= allocate_anon_data(o, members)
|
|
222
|
-
|
|
222
|
+
values = data.members.map { |m| members[m] }
|
|
223
|
+
init_data(data, values)
|
|
223
224
|
data.freeze
|
|
224
225
|
data
|
|
225
226
|
|
data/lib/psych.jar
CHANGED
|
Binary file
|
data/lib/psych.rb
CHANGED
|
@@ -269,10 +269,10 @@ module Psych
|
|
|
269
269
|
# YAML documents that are supplied via user input. Instead, please use the
|
|
270
270
|
# load method or the safe_load method.
|
|
271
271
|
#
|
|
272
|
-
def self.unsafe_load yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false, strict_integer: false
|
|
272
|
+
def self.unsafe_load yaml, filename: nil, fallback: false, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true
|
|
273
273
|
result = parse(yaml, filename: filename)
|
|
274
274
|
return fallback unless result
|
|
275
|
-
result.to_ruby(symbolize_names: symbolize_names, freeze: freeze, strict_integer: strict_integer)
|
|
275
|
+
result.to_ruby(symbolize_names: symbolize_names, freeze: freeze, strict_integer: strict_integer, parse_symbols: parse_symbols)
|
|
276
276
|
end
|
|
277
277
|
|
|
278
278
|
###
|
|
@@ -320,13 +320,13 @@ module Psych
|
|
|
320
320
|
# Psych.safe_load("---\n foo: bar") # => {"foo"=>"bar"}
|
|
321
321
|
# Psych.safe_load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
|
|
322
322
|
#
|
|
323
|
-
def self.safe_load yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false
|
|
323
|
+
def self.safe_load yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true
|
|
324
324
|
result = parse(yaml, filename: filename)
|
|
325
325
|
return fallback unless result
|
|
326
326
|
|
|
327
327
|
class_loader = ClassLoader::Restricted.new(permitted_classes.map(&:to_s),
|
|
328
328
|
permitted_symbols.map(&:to_s))
|
|
329
|
-
scanner = ScalarScanner.new class_loader, strict_integer: strict_integer
|
|
329
|
+
scanner = ScalarScanner.new class_loader, strict_integer: strict_integer, parse_symbols: parse_symbols
|
|
330
330
|
visitor = if aliases
|
|
331
331
|
Visitors::ToRuby.new scanner, class_loader, symbolize_names: symbolize_names, freeze: freeze
|
|
332
332
|
else
|
|
@@ -366,7 +366,7 @@ module Psych
|
|
|
366
366
|
# Raises a TypeError when `yaml` parameter is NilClass. This method is
|
|
367
367
|
# similar to `safe_load` except that `Symbol` objects are allowed by default.
|
|
368
368
|
#
|
|
369
|
-
def self.load yaml, permitted_classes: [Symbol], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false
|
|
369
|
+
def self.load yaml, permitted_classes: [Symbol], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false, parse_symbols: true
|
|
370
370
|
safe_load yaml, permitted_classes: permitted_classes,
|
|
371
371
|
permitted_symbols: permitted_symbols,
|
|
372
372
|
aliases: aliases,
|
|
@@ -374,7 +374,8 @@ module Psych
|
|
|
374
374
|
fallback: fallback,
|
|
375
375
|
symbolize_names: symbolize_names,
|
|
376
376
|
freeze: freeze,
|
|
377
|
-
strict_integer: strict_integer
|
|
377
|
+
strict_integer: strict_integer,
|
|
378
|
+
parse_symbols: parse_symbols
|
|
378
379
|
end
|
|
379
380
|
|
|
380
381
|
###
|
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.
|
|
4
|
+
version: 5.3.0
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Aaron Patterson
|
|
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
133
133
|
version: '0'
|
|
134
134
|
requirements:
|
|
135
135
|
- jar org.snakeyaml:snakeyaml-engine, 2.9
|
|
136
|
-
rubygems_version:
|
|
136
|
+
rubygems_version: 4.0.1
|
|
137
137
|
specification_version: 4
|
|
138
138
|
summary: Psych is a YAML parser and emitter
|
|
139
139
|
test_files: []
|