psych 3.3.0-java → 3.3.3-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07175c114aaed4a3bc43893283642e907290b3c24178197185ef05d0e66c4b92
4
- data.tar.gz: d85e294b5c13fd28a65995a955a2fdbc19e4c8f994f8319e66a9575f95d211dc
3
+ metadata.gz: a7232d1e43b7e2ae5938d10cc72b18a34bb62f58a4c12fdc488e8fb0b0e88b97
4
+ data.tar.gz: 745aa055e69e529798c4dfaa5582afecdfaefecaca53620d1f851078532938f9
5
5
  SHA512:
6
- metadata.gz: 5e27409598fced4c6c42b7c618e190b64dc64cf64fa3b730b3ed8e9c948c054800bdbd13c9ba4d6c58d88862f9b78c1d53b3b483f0f7d2314f5a4729d9556a82
7
- data.tar.gz: 9bed3482df75bdbd9344d13657035a889bcf7b3ff1182aaf1a17ea3411aba028c89448b279f514b108e194903713430c3b7a2224e87fa1ede425dc8b2bfed93a
6
+ metadata.gz: f3368dca628b6ee2c3bee029a060397b11dad760da569f028402590cd515f971316b0d106fac801fe51dc1159b6da1f24adf9b262c1c4d45dd6219bd545464b0
7
+ data.tar.gz: 4d2bacb578beca3e373dd09615a6e52079d114c8a79d8c8b3e312f955a8bf1f61ecfbfba90933c7b417594ea171315ffe315b4e58a2eac0593e698c35c1aea57
data/Gemfile CHANGED
@@ -4,6 +4,6 @@ gemspec
4
4
 
5
5
  group :development do
6
6
  gem 'rake-compiler', ">= 0.4.1"
7
- gem 'minitest', "~> 5.0"
7
+ gem 'test-unit'
8
8
  gem 'ruby-maven', :platforms => :jruby
9
9
  end
data/Rakefile CHANGED
@@ -3,8 +3,8 @@ Bundler::GemHelper.install_tasks
3
3
 
4
4
  require "rake/testtask"
5
5
  Rake::TestTask.new(:test) do |t|
6
- t.libs << "test"
7
- t.libs << "lib"
6
+ t.libs << "test/lib" << "test"
7
+ t.ruby_opts << "-rhelper"
8
8
  t.test_files = FileList['test/**/test_*.rb']
9
9
  t.verbose = true
10
10
  t.warning = true
@@ -31,4 +31,11 @@ else
31
31
  Rake::ExtensionTask.new("psych")
32
32
  end
33
33
 
34
+ task :sync_tool do
35
+ require 'fileutils'
36
+ FileUtils.cp "../ruby/tool/lib/test/unit/core_assertions.rb", "./test/lib"
37
+ FileUtils.cp "../ruby/tool/lib/envutil.rb", "./test/lib"
38
+ FileUtils.cp "../ruby/tool/lib/find_executable.rb", "./test/lib"
39
+ end
40
+
34
41
  task :default => [:compile, :test]
@@ -541,4 +541,4 @@ yaml_parser_load_mapping_end(yaml_parser_t *parser, yaml_event_t *event,
541
541
  (void)POP(parser, *ctx);
542
542
 
543
543
  return 1;
544
- }
544
+ }
@@ -273,7 +273,7 @@
273
273
  * The tokens BLOCK-SEQUENCE-START and BLOCK-MAPPING-START denote indentation
274
274
  * increase that precedes a block collection (cf. the INDENT token in Python).
275
275
  * The token BLOCK-END denote indentation decrease that ends a block collection
276
- * (cf. the DEDENT token in Python). However YAML has some syntax pecularities
276
+ * (cf. the DEDENT token in Python). However YAML has some syntax peculiarities
277
277
  * that makes detections of these tokens more complex.
278
278
  *
279
279
  * The tokens BLOCK-ENTRY, KEY, and VALUE are used to represent the indicators
@@ -3287,7 +3287,7 @@ yaml_parser_scan_flow_scalar(yaml_parser_t *parser, yaml_token_t *token,
3287
3287
 
3288
3288
  /* Check if we are at the end of the scalar. */
3289
3289
 
3290
- /* Fix for crash unitialized value crash
3290
+ /* Fix for crash uninitialized value crash
3291
3291
  * Credit for the bug and input is to OSS Fuzz
3292
3292
  * Credit for the fix to Alex Gaynor
3293
3293
  */
@@ -1095,7 +1095,7 @@ typedef struct yaml_parser_s {
1095
1095
  yaml_error_type_t error;
1096
1096
  /** Error description. */
1097
1097
  const char *problem;
1098
- /** The byte about which the problem occured. */
1098
+ /** The byte about which the problem occurred. */
1099
1099
  size_t problem_offset;
1100
1100
  /** The problematic value (@c -1 is none). */
1101
1101
  int problem_value;
@@ -1335,7 +1335,7 @@ yaml_parser_delete(yaml_parser_t *parser);
1335
1335
  * Set a string input.
1336
1336
  *
1337
1337
  * Note that the @a input pointer must be valid while the @a parser object
1338
- * exists. The application is responsible for destroing @a input after
1338
+ * exists. The application is responsible for destroying @a input after
1339
1339
  * destroying the @a parser.
1340
1340
  *
1341
1341
  * @param[in,out] parser A parser object.
@@ -1734,7 +1734,7 @@ typedef struct yaml_emitter_s {
1734
1734
  size_t length;
1735
1735
  /** Does the scalar contain line breaks? */
1736
1736
  int multiline;
1737
- /** Can the scalar be expessed in the flow plain style? */
1737
+ /** Can the scalar be expressed in the flow plain style? */
1738
1738
  int flow_plain_allowed;
1739
1739
  /** Can the scalar be expressed in the block plain style? */
1740
1740
  int block_plain_allowed;
@@ -1950,7 +1950,7 @@ yaml_emitter_close(yaml_emitter_t *emitter);
1950
1950
  /**
1951
1951
  * Emit a YAML document.
1952
1952
  *
1953
- * The documen object may be generated using the yaml_parser_load() function
1953
+ * The document object may be generated using the yaml_parser_load() function
1954
1954
  * or the yaml_document_initialize() function. The emitter takes the
1955
1955
  * responsibility for the document object and destroys its content after
1956
1956
  * it is emitted. The document object is destroyed even if the function fails.
@@ -2,7 +2,7 @@
2
2
  #include RUBY_EXTCONF_H
3
3
  #endif
4
4
 
5
- #if HAVE_CONFIG_H
5
+ #ifdef HAVE_CONFIG_H
6
6
  #include "config.h"
7
7
  #endif
8
8
 
data/lib/psych/handler.rb CHANGED
@@ -119,7 +119,7 @@ module Psych
119
119
  # +tag+ is an associated tag or nil
120
120
  # +plain+ is a boolean value
121
121
  # +quoted+ is a boolean value
122
- # +style+ is an integer idicating the string style
122
+ # +style+ is an integer indicating the string style
123
123
  #
124
124
  # See the constants in Psych::Nodes::Scalar for the possible values of
125
125
  # +style+
@@ -50,7 +50,7 @@ module Psych
50
50
  # +tag+ is an associated tag or nil
51
51
  # +plain+ is a boolean value
52
52
  # +quoted+ is a boolean value
53
- # +style+ is an integer idicating the string style
53
+ # +style+ is an integer indicating the string style
54
54
  #
55
55
  # == See Also
56
56
  #
@@ -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?(/^[^\d\.:-]?[A-Za-z_\s!@#\$%\^&\*\(\)\{\}\<\>\|\/\\~;=]+/) || string.match?(/\n/)
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, '%Y-%m-%d')
60
+ class_loader.date.strptime(string, '%F', Date::GREGORIAN)
61
61
  rescue ArgumentError
62
62
  string
63
63
  end
@@ -1,10 +1,10 @@
1
-
2
1
  # frozen_string_literal: true
2
+
3
3
  module Psych
4
4
  # The version of Psych you are using
5
- VERSION = '3.3.0'
5
+ VERSION = '3.3.3'
6
6
 
7
7
  if RUBY_ENGINE == 'jruby'
8
- DEFAULT_SNAKEYAML_VERSION = '1.26'.freeze
8
+ DEFAULT_SNAKEYAML_VERSION = '1.31'.freeze
9
9
  end
10
10
  end
@@ -24,6 +24,7 @@ module Psych
24
24
  super()
25
25
  @st = {}
26
26
  @ss = ss
27
+ @load_tags = Psych.load_tags
27
28
  @domain_types = Psych.domain_types
28
29
  @class_loader = class_loader
29
30
  @symbolize_names = symbolize_names
@@ -48,7 +49,7 @@ module Psych
48
49
  end
49
50
 
50
51
  def deserialize o
51
- if klass = resolve_class(Psych.load_tags[o.tag])
52
+ if klass = resolve_class(@load_tags[o.tag])
52
53
  instance = klass.allocate
53
54
 
54
55
  if instance.respond_to?(:init_with)
@@ -79,7 +80,9 @@ module Psych
79
80
  when "!ruby/object:DateTime"
80
81
  class_loader.date_time
81
82
  require 'date' unless defined? DateTime
82
- @ss.parse_time(o.value).to_datetime
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)
83
86
  when '!ruby/encoding'
84
87
  ::Encoding.find o.value
85
88
  when "!ruby/object:Complex"
@@ -128,7 +131,7 @@ module Psych
128
131
  end
129
132
 
130
133
  def visit_Psych_Nodes_Sequence o
131
- if klass = resolve_class(Psych.load_tags[o.tag])
134
+ if klass = resolve_class(@load_tags[o.tag])
132
135
  instance = klass.allocate
133
136
 
134
137
  if instance.respond_to?(:init_with)
@@ -160,8 +163,8 @@ module Psych
160
163
  end
161
164
 
162
165
  def visit_Psych_Nodes_Mapping o
163
- if Psych.load_tags[o.tag]
164
- return revive(resolve_class(Psych.load_tags[o.tag]), o)
166
+ if @load_tags[o.tag]
167
+ return revive(resolve_class(@load_tags[o.tag]), o)
165
168
  end
166
169
  return revive_hash(register(o, {}), o) unless o.tag
167
170
 
@@ -326,6 +329,7 @@ module Psych
326
329
  end
327
330
 
328
331
  private
332
+
329
333
  def register node, object
330
334
  @st[node.anchor] = object if node.anchor
331
335
  object
@@ -337,7 +341,7 @@ module Psych
337
341
  list
338
342
  end
339
343
 
340
- def revive_hash hash, o
344
+ def revive_hash hash, o, tagged= false
341
345
  o.children.each_slice(2) { |k,v|
342
346
  key = accept(k)
343
347
  val = accept(v)
@@ -364,7 +368,7 @@ module Psych
364
368
  hash[key] = val
365
369
  end
366
370
  else
367
- if @symbolize_names
371
+ if !tagged && @symbolize_names && key.is_a?(String)
368
372
  key = key.to_sym
369
373
  elsif !@freeze
370
374
  key = deduplicate(key)
@@ -402,7 +406,7 @@ module Psych
402
406
 
403
407
  def revive klass, node
404
408
  s = register(node, klass.allocate)
405
- init_with(s, revive_hash({}, node), node)
409
+ init_with(s, revive_hash({}, node, true), node)
406
410
  end
407
411
 
408
412
  def init_with o, h, node
@@ -17,7 +17,7 @@ module Psych
17
17
 
18
18
  if defined?(Ractor)
19
19
  def dispatch
20
- Ractor.current[:Psych_Visitors_Visitor] ||= Visitor.dispatch_cache
20
+ @dispatch_cache ||= (Ractor.current[:Psych_Visitors_Visitor] ||= Visitor.dispatch_cache)
21
21
  end
22
22
  else
23
23
  DISPATCH = dispatch_cache
@@ -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
- formatted = if o.offset.zero?
197
- o.strftime("%Y-%m-%d %H:%M:%S.%9N Z".freeze)
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 time.utc?
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")
@@ -509,9 +509,9 @@ module Psych
509
509
  def emit_coder c, o
510
510
  case c.type
511
511
  when :scalar
512
- @emitter.scalar c.scalar, nil, c.tag, c.tag.nil?, false, Nodes::Scalar::ANY
512
+ @emitter.scalar c.scalar, nil, c.tag, c.tag.nil?, false, c.style
513
513
  when :seq
514
- @emitter.start_sequence nil, c.tag, c.tag.nil?, Nodes::Sequence::BLOCK
514
+ @emitter.start_sequence nil, c.tag, c.tag.nil?, c.style
515
515
  c.seq.each do |thing|
516
516
  accept thing
517
517
  end
data/lib/psych.jar CHANGED
Binary file
data/lib/psych.rb CHANGED
@@ -271,7 +271,7 @@ module Psych
271
271
  # YAML documents that are supplied via user input. Instead, please use the
272
272
  # safe_load method.
273
273
  #
274
- def self.load yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: false, symbolize_names: false, freeze: false
274
+ def self.unsafe_load yaml, legacy_filename = NOT_GIVEN, filename: nil, fallback: false, symbolize_names: false, freeze: false
275
275
  if legacy_filename != NOT_GIVEN
276
276
  warn_with_uplevel 'Passing filename with the 2nd argument of Psych.load is deprecated. Use keyword argument like Psych.load(yaml, filename: ...) instead.', uplevel: 1 if $VERBOSE
277
277
  filename = legacy_filename
@@ -281,6 +281,7 @@ module Psych
281
281
  return fallback unless result
282
282
  result.to_ruby(symbolize_names: symbolize_names, freeze: freeze)
283
283
  end
284
+ class << self; alias :load :unsafe_load; end
284
285
 
285
286
  ###
286
287
  # Safely load the yaml string in +yaml+. By default, only the following
@@ -577,11 +578,12 @@ module Psych
577
578
  # NOTE: This method *should not* be used to parse untrusted documents, such as
578
579
  # YAML documents that are supplied via user input. Instead, please use the
579
580
  # safe_load_file method.
580
- def self.load_file filename, **kwargs
581
+ def self.unsafe_load_file filename, **kwargs
581
582
  File.open(filename, 'r:bom|utf-8') { |f|
582
- self.load f, filename: filename, **kwargs
583
+ self.unsafe_load f, filename: filename, **kwargs
583
584
  }
584
585
  end
586
+ class << self; alias :load_file :unsafe_load_file; end
585
587
 
586
588
  ###
587
589
  # Safely loads the document contained in +filename+. Returns the yaml contained in
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.0
4
+ version: 3.3.3
5
5
  platform: java
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: 2020-12-23 00:00:00.000000000 Z
13
+ date: 2022-09-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  requirement: !ruby/object:Gem::Requirement
@@ -19,8 +19,8 @@ dependencies:
19
19
  - !ruby/object:Gem::Version
20
20
  version: 0.1.7
21
21
  name: jar-dependencies
22
- type: :runtime
23
22
  prerelease: false
23
+ type: :runtime
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
@@ -137,8 +137,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  requirements:
140
- - jar org.yaml:snakeyaml, 1.26
141
- rubygems_version: 3.0.6
140
+ - jar org.yaml:snakeyaml, 1.31
141
+ rubygems_version: 3.2.29
142
142
  signing_key:
143
143
  specification_version: 4
144
144
  summary: Psych is a YAML parser and emitter