psych 3.0.2-java → 3.0.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
- 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