psych 3.0.2-java → 3.0.3-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0cd551e6f43bcd6884c1efd454765a9544649e5a
4
- data.tar.gz: f660bc87fca4221c306f93f9b0de800e4aa11b06
2
+ SHA256:
3
+ metadata.gz: 7aed9d05032bc444bab436880e7451b18b177a162de7796189801eaa5197932c
4
+ data.tar.gz: e525367cd2cfe469492166b957bfdf55db72865525c3c507253e92b100d47112
5
5
  SHA512:
6
- metadata.gz: c17282aa46f06bdbfb34e5be66b1037ca6c4e0b6175e543a804a623e2a0e16e6d88ef0c7203e7d903f83c587f584f36e76234495a8dc8399061f4e26d35e652b
7
- data.tar.gz: 75022ffc21735051df9de9d674a5867b69472ed136486eb09daa342ade8163c87da03b29cede5a4365dcbf7a4e161789eb87038f952405ad0df601d609dd626e
6
+ metadata.gz: ccc121b4129b153433fac77601a600d843df7ef89511b24113c4d3aa63661c092f240e4753fdf7f3c4821be95010c70a52489eb51326d2247ea7b3f3f1ff6b8b
7
+ data.tar.gz: 4174038bcdd55991e3c3c76d025832ac403edab7e47c805799e48de59bf2a143e5c3b99801d627700efc6bb0e1755c779ba5c1f5524c9d1370047a46f0ae8b4a
data/README.md CHANGED
@@ -14,11 +14,13 @@ serialize and de-serialize most Ruby objects to and from the YAML format.
14
14
 
15
15
  ## Examples
16
16
 
17
- # Load YAML in to a Ruby object
18
- Psych.load('--- foo') # => 'foo'
17
+ ```ruby
18
+ # Load YAML in to a Ruby object
19
+ Psych.load('--- foo') # => 'foo'
19
20
 
20
- # Emit YAML from a Ruby object
21
- Psych.dump("foo") # => "--- foo\n...\n"
21
+ # Emit YAML from a Ruby object
22
+ Psych.dump("foo") # => "--- foo\n...\n"
23
+ ```
22
24
 
23
25
  ## Dependencies
24
26
 
data/Rakefile CHANGED
@@ -14,11 +14,13 @@ if RUBY_PLATFORM =~ /java/
14
14
  require 'rake/javaextensiontask'
15
15
  Rake::JavaExtensionTask.new("psych") do |ext|
16
16
  require 'maven/ruby/maven'
17
+ # force load of versions to overwrite constants with values from repo.
18
+ load './lib/psych/versions.rb'
17
19
  # uses Mavenfile to write classpath into pkg/classpath
18
20
  # and tell maven via system properties the snakeyaml version
19
21
  # this is basically the same as running from the commandline:
20
22
  # rmvn dependency:build-classpath -Dsnakeyaml.version='use version from Psych::DEFAULT_SNAKEYAML_VERSION here'
21
- Maven::Ruby::Maven.new.exec('dependency:build-classpath', "-Dsnakeyaml.version=1.18", '-Dverbose=true')
23
+ Maven::Ruby::Maven.new.exec('dependency:build-classpath', "-Dsnakeyaml.version=1.23", '-Dverbose=true')
22
24
  ext.source_version = '1.7'
23
25
  ext.target_version = '1.7'
24
26
  ext.classpath = File.read('pkg/classpath')
@@ -202,7 +202,7 @@ public class PsychEmitter extends RubyObject {
202
202
  value.asJavaString(),
203
203
  NULL_MARK,
204
204
  NULL_MARK,
205
- SCALAR_STYLES[(int)style.convertToInteger().getLongValue()]);
205
+ SCALAR_STYLES[style.convertToInteger().getIntValue()]);
206
206
  emit(context, event);
207
207
  return this;
208
208
  }
@@ -222,7 +222,7 @@ public class PsychEmitter extends RubyObject {
222
222
  implicit.isTrue(),
223
223
  NULL_MARK,
224
224
  NULL_MARK,
225
- SEQUENCE_BLOCK != style.convertToInteger().getLongValue());
225
+ FLOW_STYLES[style.convertToInteger().getIntValue()]);
226
226
  emit(context, event);
227
227
  return this;
228
228
  }
@@ -249,7 +249,7 @@ public class PsychEmitter extends RubyObject {
249
249
  implicit.isTrue(),
250
250
  NULL_MARK,
251
251
  NULL_MARK,
252
- MAPPING_BLOCK != style.convertToInteger().getLongValue());
252
+ FLOW_STYLES[style.convertToInteger().getIntValue()]);
253
253
  emit(context, event);
254
254
  return this;
255
255
  }
@@ -332,16 +332,22 @@ public class PsychEmitter extends RubyObject {
332
332
  DumperOptions options = new DumperOptions();
333
333
  IRubyObject io;
334
334
 
335
- private static final Mark NULL_MARK = new Mark(null, 0, 0, 0, null, 0);
335
+ private static final Mark NULL_MARK = new Mark("", 0, 0, 0, new int[0], 0);
336
336
 
337
337
  // Map style constants from Psych values (ANY = 0 ... FOLDED = 5)
338
338
  // to SnakeYaml values; see psych/nodes/scalar.rb.
339
- private static final Character[] SCALAR_STYLES = new Character[] {
340
- null, // ANY; we'll choose plain
341
- null, // PLAIN
342
- '\'', // SINGLE_QUOTED
343
- '"', // DOUBLE_QUOTED
344
- '|', // LITERAL
345
- '>', // FOLDED
339
+ private static final DumperOptions.ScalarStyle[] SCALAR_STYLES = {
340
+ DumperOptions.ScalarStyle.PLAIN, // ANY
341
+ DumperOptions.ScalarStyle.PLAIN,
342
+ DumperOptions.ScalarStyle.SINGLE_QUOTED,
343
+ DumperOptions.ScalarStyle.DOUBLE_QUOTED,
344
+ DumperOptions.ScalarStyle.LITERAL,
345
+ DumperOptions.ScalarStyle.FOLDED
346
+ };
347
+
348
+ private static final DumperOptions.FlowStyle[] FLOW_STYLES = {
349
+ DumperOptions.FlowStyle.AUTO,
350
+ DumperOptions.FlowStyle.BLOCK,
351
+ DumperOptions.FlowStyle.FLOW
346
352
  };
347
353
  }
@@ -57,7 +57,13 @@ public class PsychLibrary implements Library {
57
57
  catch( IOException e ) {
58
58
  // ignored
59
59
  }
60
- RubyString version = runtime.newString(props.getProperty("version", "0.0") + ".0");
60
+ String snakeyamlVersion = props.getProperty("version", "0.0");
61
+
62
+ if (snakeyamlVersion.endsWith("-SNAPSHOT")) {
63
+ snakeyamlVersion = snakeyamlVersion.substring(0, snakeyamlVersion.length() - "-SNAPSHOT".length());
64
+ }
65
+
66
+ RubyString version = runtime.newString(snakeyamlVersion + ".0");
61
67
  version.setFrozen(true);
62
68
  psych.setConstant("SNAKEYAML_VERSION", version);
63
69
 
@@ -41,6 +41,7 @@ import org.jruby.Ruby;
41
41
  import org.jruby.RubyArray;
42
42
  import org.jruby.RubyClass;
43
43
  import org.jruby.RubyEncoding;
44
+ import org.jruby.RubyFixnum;
44
45
  import org.jruby.RubyIO;
45
46
  import org.jruby.RubyKernel;
46
47
  import org.jruby.RubyModule;
@@ -295,7 +296,7 @@ public class PsychParser extends RubyObject {
295
296
  IRubyObject tag = stringOrNilFor(runtime, se.getTag(), tainted);
296
297
  IRubyObject plain_implicit = runtime.newBoolean(se.getImplicit().canOmitTagInPlainScalar());
297
298
  IRubyObject quoted_implicit = runtime.newBoolean(se.getImplicit().canOmitTagInNonPlainScalar());
298
- IRubyObject style = runtime.newFixnum(translateStyle(se.getStyle()));
299
+ IRubyObject style = runtime.newFixnum(translateStyle(se.getScalarStyle()));
299
300
  IRubyObject val = stringFor(runtime, se.getValue(), tainted);
300
301
 
301
302
  invoke(context, handler, "scalar", val, anchor, tag, plain_implicit,
@@ -359,24 +360,26 @@ public class PsychParser extends RubyObject {
359
360
  RubyKernel.raise(context, runtime.getKernel(), new IRubyObject[] { exception }, Block.NULL_BLOCK);
360
361
  }
361
362
 
362
- private static int translateStyle(Character style) {
363
+ private static int translateStyle(DumperOptions.ScalarStyle style) {
363
364
  if (style == null) return 0; // any
364
365
 
365
366
  switch (style) {
366
- case 0: return 1; // plain
367
- case '\'': return 2; // single-quoted
368
- case '"': return 3; // double-quoted
369
- case '|': return 4; // literal
370
- case '>': return 5; // folded
367
+ case PLAIN: return 1; // plain
368
+ case SINGLE_QUOTED: return 2; // single-quoted
369
+ case DOUBLE_QUOTED: return 3; // double-quoted
370
+ case LITERAL: return 4; // literal
371
+ case FOLDED: return 5; // folded
371
372
  default: return 0; // any
372
373
  }
373
374
  }
374
375
 
375
- private static int translateFlowStyle(Boolean flowStyle) {
376
- if (flowStyle == null) return 0; // any
377
-
378
- if (flowStyle) return 2;
379
- return 1;
376
+ private static int translateFlowStyle(DumperOptions.FlowStyle flowStyle) {
377
+ switch (flowStyle) {
378
+ case AUTO: return 0;
379
+ case BLOCK: return 1;
380
+ case FLOW:
381
+ default: return 2;
382
+ }
380
383
  }
381
384
 
382
385
  @JRubyMethod
@@ -394,9 +397,9 @@ public class PsychParser extends RubyObject {
394
397
  if (event == null) {
395
398
  return ((RubyClass)context.runtime.getClassFromPath("Psych::Parser::Mark")).newInstance(
396
399
  context,
397
- runtime.newFixnum(0),
398
- runtime.newFixnum(0),
399
- runtime.newFixnum(0),
400
+ RubyFixnum.zero(runtime),
401
+ RubyFixnum.zero(runtime),
402
+ RubyFixnum.zero(runtime),
400
403
  Block.NULL_BLOCK
401
404
  );
402
405
  }
@@ -405,7 +408,7 @@ public class PsychParser extends RubyObject {
405
408
 
406
409
  return ((RubyClass)context.runtime.getClassFromPath("Psych::Parser::Mark")).newInstance(
407
410
  context,
408
- runtime.newFixnum(mark.getIndex()),
411
+ RubyFixnum.zero(runtime),
409
412
  runtime.newFixnum(mark.getLine()),
410
413
  runtime.newFixnum(mark.getColumn()),
411
414
  Block.NULL_BLOCK
@@ -521,6 +521,7 @@ static VALUE set_line_width(VALUE self, VALUE width)
521
521
 
522
522
  void Init_psych_emitter(void)
523
523
  {
524
+ #undef rb_intern
524
525
  VALUE psych = rb_define_module("Psych");
525
526
  VALUE handler = rb_define_class_under(psych, "Handler", rb_cObject);
526
527
  cPsychEmitter = rb_define_class_under(psych, "Emitter", handler);
@@ -548,6 +548,7 @@ static VALUE mark(VALUE self)
548
548
 
549
549
  void Init_psych_parser(void)
550
550
  {
551
+ #undef rb_intern
551
552
  #if 0
552
553
  mPsych = rb_define_module("Psych");
553
554
  #endif
data/lib/psych.rb CHANGED
@@ -3,7 +3,12 @@ require 'psych/versions'
3
3
  case RUBY_ENGINE
4
4
  when 'jruby'
5
5
  require 'psych_jars'
6
- org.jruby.ext.psych.PsychLibrary.new.load(JRuby.runtime, false)
6
+ if JRuby::Util.respond_to?(:load_ext)
7
+ JRuby::Util.load_ext('org.jruby.ext.psych.PsychLibrary')
8
+ else
9
+ require 'java'; require 'jruby'
10
+ org.jruby.ext.psych.PsychLibrary.new.load(JRuby.runtime, false)
11
+ end
7
12
  else
8
13
  begin
9
14
  require "#{RUBY_VERSION[/\d+\.\d+/]}/psych.so"
@@ -418,6 +423,24 @@ module Psych
418
423
  # to control the output format. If an IO object is passed in, the YAML will
419
424
  # be dumped to that IO object.
420
425
  #
426
+ # Currently supported options are:
427
+ #
428
+ # [<tt>:indentation</tt>] Number of space characters used to indent.
429
+ # Acceptable value should be in <tt>0..9</tt> range,
430
+ # otherwise option is ignored.
431
+ #
432
+ # Default: <tt>2</tt>.
433
+ # [<tt>:line_width</tt>] Max character to wrap line at.
434
+ #
435
+ # Default: <tt>0</tt> (meaning "wrap at 81").
436
+ # [<tt>:canonical</tt>] Write "canonical" YAML form (very verbose, yet
437
+ # strictly formal).
438
+ #
439
+ # Default: <tt>false</tt>.
440
+ # [<tt>:header</tt>] Write <tt>%YAML [version]</tt> at the beginning of document.
441
+ #
442
+ # Default: <tt>false</tt>.
443
+ #
421
444
  # Example:
422
445
  #
423
446
  # # Dump an array, get back a YAML string
@@ -427,10 +450,10 @@ module Psych
427
450
  # Psych.dump(['a', 'b'], StringIO.new) # => #<StringIO:0x000001009d0890>
428
451
  #
429
452
  # # Dump an array with indentation set
430
- # Psych.dump(['a', ['b']], :indentation => 3) # => "---\n- a\n- - b\n"
453
+ # Psych.dump(['a', ['b']], indentation: 3) # => "---\n- a\n- - b\n"
431
454
  #
432
455
  # # Dump an array to an IO with indentation set
433
- # Psych.dump(['a', ['b']], StringIO.new, :indentation => 3)
456
+ # Psych.dump(['a', ['b']], StringIO.new, indentation: 3)
434
457
  def self.dump o, io = nil, options = {}
435
458
  if Hash === io
436
459
  options = io
@@ -492,7 +515,7 @@ module Psych
492
515
  ###
493
516
  # Load the document contained in +filename+. Returns the yaml contained in
494
517
  # +filename+ as a Ruby object, or if the file is empty, it returns
495
- # the specified default return value, which defaults to an empty Hash
518
+ # the specified +fallback+ return value, which defaults to +false+.
496
519
  def self.load_file filename, fallback: false
497
520
  File.open(filename, 'r:bom|utf-8') { |f|
498
521
  self.load f, filename, fallback: FALLBACK.new(fallback)
@@ -14,6 +14,8 @@ module Psych
14
14
  def initialize anchor
15
15
  @anchor = anchor
16
16
  end
17
+
18
+ def alias?; true; end
17
19
  end
18
20
  end
19
21
  end
@@ -56,6 +56,8 @@ module Psych
56
56
  def root
57
57
  children.first
58
58
  end
59
+
60
+ def document?; true; end
59
61
  end
60
62
  end
61
63
  end
@@ -52,6 +52,8 @@ module Psych
52
52
  @implicit = implicit
53
53
  @style = style
54
54
  end
55
+
56
+ def mapping?; true; end
55
57
  end
56
58
  end
57
59
  end
@@ -63,6 +63,13 @@ module Psych
63
63
  io
64
64
  end
65
65
  alias :to_yaml :yaml
66
+
67
+ def alias?; false; end
68
+ def document?; false; end
69
+ def mapping?; false; end
70
+ def scalar?; false; end
71
+ def sequence?; false; end
72
+ def stream?; false; end
66
73
  end
67
74
  end
68
75
  end
@@ -63,6 +63,8 @@ module Psych
63
63
  @quoted = quoted
64
64
  @style = style
65
65
  end
66
+
67
+ def scalar?; true; end
66
68
  end
67
69
  end
68
70
  end
@@ -77,6 +77,8 @@ module Psych
77
77
  @implicit = implicit
78
78
  @style = style
79
79
  end
80
+
81
+ def sequence?; true; end
80
82
  end
81
83
  end
82
84
  end
@@ -33,6 +33,8 @@ module Psych
33
33
  super()
34
34
  @encoding = encoding
35
35
  end
36
+
37
+ def stream?; true; end
36
38
  end
37
39
  end
38
40
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
  module Psych
3
3
  # The version is Psych you're using
4
- VERSION = '3.0.2'
4
+ VERSION = '3.0.3'
5
5
 
6
6
  if RUBY_ENGINE == 'jruby'
7
- DEFAULT_SNAKEYAML_VERSION = '1.18'.freeze
7
+ DEFAULT_SNAKEYAML_VERSION = '1.23'.freeze
8
8
  end
9
9
  end
data/psych.gemspec CHANGED
@@ -3,10 +3,9 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "psych"
6
- s.version = "3.0.2"
6
+ s.version = "3.0.3"
7
7
  s.authors = ["Aaron Patterson", "SHIBATA Hiroshi", "Charles Oliver Nutter"]
8
8
  s.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org", "headius@headius.com"]
9
- s.date = "2017-12-04"
10
9
  s.summary = "Psych is a YAML parser and emitter"
11
10
  s.description = <<-DESCRIPTION
12
11
  Psych is a YAML parser and emitter. Psych leverages libyaml[http://pyyaml.org/wiki/LibYAML]
@@ -20,7 +19,7 @@ DESCRIPTION
20
19
  # for ruby core repository. It was generated by `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
20
  s.files = [
22
21
  ".gitignore", ".travis.yml", "CHANGELOG.rdoc", "Gemfile", "Mavenfile", "README.md", "Rakefile", "bin/console",
23
- "bin/setup", "ext/psych/.gitignore", "ext/psych/depend", "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h",
22
+ "bin/setup", "ext/psych/depend", "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h",
24
23
  "ext/psych/psych_emitter.c", "ext/psych/psych_emitter.h", "ext/psych/psych_parser.c", "ext/psych/psych_parser.h",
25
24
  "ext/psych/psych_to_ruby.c", "ext/psych/psych_to_ruby.h", "ext/psych/psych_yaml_tree.c", "ext/psych/psych_yaml_tree.h",
26
25
  "ext/psych/yaml/LICENSE", "ext/psych/yaml/api.c", "ext/psych/yaml/config.h", "ext/psych/yaml/dumper.c",
@@ -54,7 +53,7 @@ DESCRIPTION
54
53
  "ext/java/PsychEmitter.java", "ext/java/PsychLibrary.java", "ext/java/PsychParser.java", "ext/java/PsychToRuby.java",
55
54
  "ext/java/PsychYamlTree.java", "lib/psych_jars.rb", "lib/psych.jar"
56
55
  ]
57
- s.requirements = "jar org.yaml:snakeyaml, 1.18"
56
+ s.requirements = "jar org.yaml:snakeyaml, 1.23"
58
57
  s.add_dependency 'jar-dependencies', '>= 0.1.7'
59
58
  s.add_development_dependency 'ruby-maven'
60
59
  else
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.0.2
4
+ version: 3.0.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: 2017-12-04 00:00:00.000000000 Z
13
+ date: 2018-10-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  requirement: !ruby/object:Gem::Requirement
@@ -96,7 +96,6 @@ files:
96
96
  - ext/java/PsychParser.java
97
97
  - ext/java/PsychToRuby.java
98
98
  - ext/java/PsychYamlTree.java
99
- - ext/psych/.gitignore
100
99
  - ext/psych/depend
101
100
  - ext/psych/extconf.rb
102
101
  - ext/psych/psych.c
@@ -182,9 +181,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
181
  - !ruby/object:Gem::Version
183
182
  version: '0'
184
183
  requirements:
185
- - jar org.yaml:snakeyaml, 1.18
184
+ - jar org.yaml:snakeyaml, 1.23
186
185
  rubyforge_project:
187
- rubygems_version: 2.6.14
186
+ rubygems_version: 2.7.6
188
187
  signing_key:
189
188
  specification_version: 4
190
189
  summary: Psych is a YAML parser and emitter
data/ext/psych/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- /api.c
2
- /config.h
3
- /dumper.c
4
- /emitter.c
5
- /loader.c
6
- /parser.c
7
- /reader.c
8
- /scanner.c
9
- /writer.c
10
- /yaml.h
11
- /yaml_private.h