psych 2.2.4 → 3.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +7 -6
- data/ext/psych/yaml/scanner.c +2 -2
- data/lib/psych.rb +0 -1
- data/lib/psych/core_ext.rb +1 -18
- data/lib/psych/scalar_scanner.rb +3 -4
- data/lib/psych/versions.rb +1 -1
- data/lib/psych/visitors/to_ruby.rb +0 -5
- data/lib/psych/visitors/yaml_tree.rb +4 -49
- data/psych.gemspec +3 -3
- metadata +3 -4
- data/lib/psych/deprecated.rb +0 -86
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6cefd3a5929c1fa382637de29945e8cca1252d89
|
4
|
+
data.tar.gz: 11106ced2bd3d54a02f2f9b8e582f2fbadfc72d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ff4192bf0ec3e3d1f745657f3a1a28097752fe66067a2ac5d5cda931452a47f40dffde182935446951898e11d6f7d3fa64f2bd5628d36798ec16575e3b8f6fa
|
7
|
+
data.tar.gz: '08feb32ce52a953fcf85abaa8191f1c1c04fb66e98537d56a0fa9721464e87703e6e831bc123f8075925d222769b2211b825cd0142c2a1365f37d34060ba788e'
|
data/.travis.yml
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
rvm:
|
2
|
-
- 2.
|
3
|
-
- 2.
|
4
|
-
- 2.
|
2
|
+
- 2.2.7
|
3
|
+
- 2.3.4
|
4
|
+
- 2.4.1
|
5
5
|
- ruby-head
|
6
|
-
- jruby-9.1.
|
6
|
+
- jruby-9.1.8.0
|
7
7
|
|
8
8
|
matrix:
|
9
9
|
allow_failures:
|
10
|
-
- rvm: jruby-9.1.
|
10
|
+
- rvm: jruby-9.1.8.0
|
11
11
|
|
12
|
-
|
12
|
+
before_script:
|
13
|
+
- unset JRUBY_OPTS
|
13
14
|
|
14
15
|
script: rake
|
15
16
|
|
data/ext/psych/yaml/scanner.c
CHANGED
@@ -3504,12 +3504,12 @@ yaml_parser_scan_plain_scalar(yaml_parser_t *parser, yaml_token_t *token)
|
|
3504
3504
|
{
|
3505
3505
|
if (IS_BLANK(parser->buffer))
|
3506
3506
|
{
|
3507
|
-
/* Check for tab
|
3507
|
+
/* Check for tab characters that abuse indentation. */
|
3508
3508
|
|
3509
3509
|
if (leading_blanks && (int)parser->mark.column < indent
|
3510
3510
|
&& IS_TAB(parser->buffer)) {
|
3511
3511
|
yaml_parser_set_scanner_error(parser, "while scanning a plain scalar",
|
3512
|
-
start_mark, "found a tab character that
|
3512
|
+
start_mark, "found a tab character that violates indentation");
|
3513
3513
|
goto error;
|
3514
3514
|
}
|
3515
3515
|
|
data/lib/psych.rb
CHANGED
data/lib/psych/core_ext.rb
CHANGED
@@ -4,31 +4,14 @@ class Object
|
|
4
4
|
Psych.add_tag(url, self)
|
5
5
|
end
|
6
6
|
|
7
|
-
# FIXME: rename this to "to_yaml" when syck is removed
|
8
|
-
|
9
7
|
###
|
10
8
|
# call-seq: to_yaml(options = {})
|
11
9
|
#
|
12
10
|
# Convert an object to YAML. See Psych.dump for more information on the
|
13
11
|
# available +options+.
|
14
|
-
def
|
12
|
+
def to_yaml options = {}
|
15
13
|
Psych.dump self, options
|
16
14
|
end
|
17
|
-
remove_method :to_yaml rescue nil
|
18
|
-
alias :to_yaml :psych_to_yaml
|
19
|
-
end
|
20
|
-
|
21
|
-
class Module
|
22
|
-
def psych_yaml_as url
|
23
|
-
return if caller[0].end_with?('rubytypes.rb')
|
24
|
-
if $VERBOSE
|
25
|
-
warn "#{caller[0]}: yaml_as is deprecated, please use yaml_tag"
|
26
|
-
end
|
27
|
-
Psych.add_tag(url, self)
|
28
|
-
end
|
29
|
-
|
30
|
-
remove_method :yaml_as rescue nil
|
31
|
-
alias :yaml_as :psych_yaml_as
|
32
15
|
end
|
33
16
|
|
34
17
|
if defined?(::IRB)
|
data/lib/psych/scalar_scanner.rb
CHANGED
@@ -10,7 +10,6 @@ module Psych
|
|
10
10
|
|
11
11
|
# Taken from http://yaml.org/type/float.html
|
12
12
|
FLOAT = /^(?:[-+]?([0-9][0-9_,]*)?\.[0-9]*([eE][-+][0-9]+)?(?# base 10)
|
13
|
-
|[-+]?[0-9][0-9_,]*(:[0-5]?[0-9])+\.[0-9_]*(?# base 60)
|
14
13
|
|[-+]?\.(inf|Inf|INF)(?# infinity)
|
15
14
|
|\.(nan|NaN|NAN)(?# not a number))$/x
|
16
15
|
|
@@ -83,13 +82,13 @@ module Psych
|
|
83
82
|
else
|
84
83
|
@symbol_cache[string] = class_loader.symbolize(string.sub(/^:/, ''))
|
85
84
|
end
|
86
|
-
when /^[-+]?[0-9][0-9_]*(:[0-5]?[0-9])
|
85
|
+
when /^[-+]?[0-9][0-9_]*(:[0-5]?[0-9]){1,2}$/
|
87
86
|
i = 0
|
88
87
|
string.split(':').each_with_index do |n,e|
|
89
88
|
i += (n.to_i * 60 ** (e - 2).abs)
|
90
89
|
end
|
91
90
|
i
|
92
|
-
when /^[-+]?[0-9][0-9_]*(:[0-5]?[0-9])
|
91
|
+
when /^[-+]?[0-9][0-9_]*(:[0-5]?[0-9]){1,2}\.[0-9_]*$/
|
93
92
|
i = 0
|
94
93
|
string.split(':').each_with_index do |n,e|
|
95
94
|
i += (n.to_f * 60 ** (e - 2).abs)
|
@@ -144,7 +143,7 @@ module Psych
|
|
144
143
|
offset += ((tz[1] || 0) * 60)
|
145
144
|
end
|
146
145
|
|
147
|
-
klass.
|
146
|
+
klass.new(yy, m, dd, hh, mm, ss+us/(1_000_000r), offset)
|
148
147
|
end
|
149
148
|
end
|
150
149
|
end
|
data/lib/psych/versions.rb
CHANGED
@@ -380,11 +380,6 @@ module Psych
|
|
380
380
|
|
381
381
|
if o.respond_to?(:init_with)
|
382
382
|
o.init_with c
|
383
|
-
elsif o.respond_to?(:yaml_initialize)
|
384
|
-
if $VERBOSE
|
385
|
-
warn "Implementing #{o.class}#yaml_initialize is deprecated, please implement \"init_with(coder)\""
|
386
|
-
end
|
387
|
-
o.yaml_initialize c.tag, c.map
|
388
383
|
else
|
389
384
|
h.each { |k,v| o.instance_variable_set(:"@#{k}", v) }
|
390
385
|
end
|
@@ -53,15 +53,6 @@ module Psych
|
|
53
53
|
new(emitter, ss, options)
|
54
54
|
end
|
55
55
|
|
56
|
-
def self.new emitter = nil, ss = nil, options = nil
|
57
|
-
return super if emitter && ss && options
|
58
|
-
|
59
|
-
if $VERBOSE
|
60
|
-
warn "This API is deprecated, please pass an emitter, scalar scanner, and options or call #{self}.create() (#{caller.first})"
|
61
|
-
end
|
62
|
-
create emitter, ss
|
63
|
-
end
|
64
|
-
|
65
56
|
def initialize emitter, ss, options
|
66
57
|
super()
|
67
58
|
@started = false
|
@@ -139,24 +130,6 @@ module Psych
|
|
139
130
|
return @emitter.alias anchor
|
140
131
|
end
|
141
132
|
|
142
|
-
if target.respond_to?(:to_yaml)
|
143
|
-
begin
|
144
|
-
loc = target.method(:to_yaml).source_location.first
|
145
|
-
if loc !~ /(syck\/rubytypes.rb|psych\/core_ext.rb)/
|
146
|
-
unless target.respond_to?(:encode_with)
|
147
|
-
if $VERBOSE
|
148
|
-
warn "implementing to_yaml is deprecated, please implement \"encode_with\""
|
149
|
-
end
|
150
|
-
|
151
|
-
target.to_yaml(:nodump => true)
|
152
|
-
end
|
153
|
-
end
|
154
|
-
rescue
|
155
|
-
# public_method or source_location might be overridden,
|
156
|
-
# and it's OK to skip it since it's only to emit a warning
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
133
|
if target.respond_to?(:encode_with)
|
161
134
|
dump_coder target
|
162
135
|
else
|
@@ -191,6 +164,8 @@ module Psych
|
|
191
164
|
@emitter.end_mapping
|
192
165
|
end
|
193
166
|
|
167
|
+
alias :visit_Delegator :visit_Object
|
168
|
+
|
194
169
|
def visit_Struct o
|
195
170
|
tag = ['!ruby/struct', o.class.name].compact.join(':')
|
196
171
|
|
@@ -336,7 +311,7 @@ module Psych
|
|
336
311
|
end
|
337
312
|
|
338
313
|
is_primitive = o.class == ::String
|
339
|
-
ivars =
|
314
|
+
ivars = is_primitive ? [] : o.instance_variables
|
340
315
|
|
341
316
|
if ivars.empty?
|
342
317
|
unless is_primitive
|
@@ -527,24 +502,6 @@ module Psych
|
|
527
502
|
end
|
528
503
|
end
|
529
504
|
|
530
|
-
# FIXME: remove this method once "to_yaml_properties" is removed
|
531
|
-
def find_ivars target, is_primitive=false
|
532
|
-
begin
|
533
|
-
loc = target.method(:to_yaml_properties).source_location.first
|
534
|
-
unless loc.start_with?(Psych::DEPRECATED) || loc.end_with?('rubytypes.rb')
|
535
|
-
if $VERBOSE
|
536
|
-
warn "#{loc}: to_yaml_properties is deprecated, please implement \"encode_with(coder)\""
|
537
|
-
end
|
538
|
-
return target.to_yaml_properties
|
539
|
-
end
|
540
|
-
rescue
|
541
|
-
# public_method or source_location might be overridden,
|
542
|
-
# and it's OK to skip it since it's only to emit a warning.
|
543
|
-
end
|
544
|
-
|
545
|
-
is_primitive ? [] : target.instance_variables
|
546
|
-
end
|
547
|
-
|
548
505
|
def register target, yaml_obj
|
549
506
|
@st.register target, yaml_obj
|
550
507
|
yaml_obj
|
@@ -586,9 +543,7 @@ module Psych
|
|
586
543
|
end
|
587
544
|
|
588
545
|
def dump_ivars target
|
589
|
-
|
590
|
-
|
591
|
-
ivars.each do |iv|
|
546
|
+
target.instance_variables.each do |iv|
|
592
547
|
@emitter.scalar("#{iv.to_s.sub(/^@/, '')}", nil, nil, true, false, Nodes::Scalar::ANY)
|
593
548
|
accept target.instance_variable_get(iv)
|
594
549
|
end
|
data/psych.gemspec
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "psych"
|
5
|
-
s.version = "
|
5
|
+
s.version = "3.0.0.beta2"
|
6
6
|
s.authors = ["Aaron Patterson", "SHIBATA Hiroshi", "Charles Oliver Nutter"]
|
7
7
|
s.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org", "headius@headius.com"]
|
8
|
-
s.date = "
|
8
|
+
s.date = "2017-06-16"
|
9
9
|
s.summary = "Psych is a YAML parser and emitter"
|
10
10
|
s.description = <<-DESCRIPTION
|
11
11
|
Psych is a YAML parser and emitter. Psych leverages libyaml[http://pyyaml.org/wiki/LibYAML]
|
@@ -17,7 +17,7 @@ DESCRIPTION
|
|
17
17
|
s.require_paths = ["lib"]
|
18
18
|
|
19
19
|
# for ruby core repository. It was generated by `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
|
-
s.files = [".gitignore", ".travis.yml", "CHANGELOG.rdoc", "Gemfile", "Mavenfile", "README.md", "Rakefile", "bin/console", "bin/setup", "ext/psych/.gitignore", "ext/psych/depend", "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h", "ext/psych/psych_emitter.c", "ext/psych/psych_emitter.h", "ext/psych/psych_parser.c", "ext/psych/psych_parser.h", "ext/psych/psych_to_ruby.c", "ext/psych/psych_to_ruby.h", "ext/psych/psych_yaml_tree.c", "ext/psych/psych_yaml_tree.h", "ext/psych/yaml/LICENSE", "ext/psych/yaml/api.c", "ext/psych/yaml/config.h", "ext/psych/yaml/dumper.c", "ext/psych/yaml/emitter.c", "ext/psych/yaml/loader.c", "ext/psych/yaml/parser.c", "ext/psych/yaml/reader.c", "ext/psych/yaml/scanner.c", "ext/psych/yaml/writer.c", "ext/psych/yaml/yaml.h", "ext/psych/yaml/yaml_private.h", "lib/psych.rb", "lib/psych/class_loader.rb", "lib/psych/coder.rb", "lib/psych/core_ext.rb", "lib/psych/
|
20
|
+
s.files = [".gitignore", ".travis.yml", "CHANGELOG.rdoc", "Gemfile", "Mavenfile", "README.md", "Rakefile", "bin/console", "bin/setup", "ext/psych/.gitignore", "ext/psych/depend", "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h", "ext/psych/psych_emitter.c", "ext/psych/psych_emitter.h", "ext/psych/psych_parser.c", "ext/psych/psych_parser.h", "ext/psych/psych_to_ruby.c", "ext/psych/psych_to_ruby.h", "ext/psych/psych_yaml_tree.c", "ext/psych/psych_yaml_tree.h", "ext/psych/yaml/LICENSE", "ext/psych/yaml/api.c", "ext/psych/yaml/config.h", "ext/psych/yaml/dumper.c", "ext/psych/yaml/emitter.c", "ext/psych/yaml/loader.c", "ext/psych/yaml/parser.c", "ext/psych/yaml/reader.c", "ext/psych/yaml/scanner.c", "ext/psych/yaml/writer.c", "ext/psych/yaml/yaml.h", "ext/psych/yaml/yaml_private.h", "lib/psych.rb", "lib/psych/class_loader.rb", "lib/psych/coder.rb", "lib/psych/core_ext.rb", "lib/psych/exception.rb", "lib/psych/handler.rb", "lib/psych/handlers/document_stream.rb", "lib/psych/handlers/recorder.rb", "lib/psych/json/ruby_events.rb", "lib/psych/json/stream.rb", "lib/psych/json/tree_builder.rb", "lib/psych/json/yaml_events.rb", "lib/psych/nodes.rb", "lib/psych/nodes/alias.rb", "lib/psych/nodes/document.rb", "lib/psych/nodes/mapping.rb", "lib/psych/nodes/node.rb", "lib/psych/nodes/scalar.rb", "lib/psych/nodes/sequence.rb", "lib/psych/nodes/stream.rb", "lib/psych/omap.rb", "lib/psych/parser.rb", "lib/psych/scalar_scanner.rb", "lib/psych/set.rb", "lib/psych/stream.rb", "lib/psych/streaming.rb", "lib/psych/syntax_error.rb", "lib/psych/tree_builder.rb", "lib/psych/versions.rb", "lib/psych/visitors.rb","lib/psych/visitors/depth_first.rb", "lib/psych/visitors/emitter.rb", "lib/psych/visitors/json_tree.rb", "lib/psych/visitors/to_ruby.rb", "lib/psych/visitors/visitor.rb", "lib/psych/visitors/yaml_tree.rb", "lib/psych/y.rb", "psych.gemspec"]
|
21
21
|
|
22
22
|
s.rdoc_options = ["--main", "README.md"]
|
23
23
|
s.extra_rdoc_files = ["CHANGELOG.rdoc", "README.md"]
|
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:
|
4
|
+
version: 3.0.0.beta2
|
5
5
|
platform: ruby
|
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:
|
13
|
+
date: 2017-06-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake-compiler
|
@@ -93,7 +93,6 @@ files:
|
|
93
93
|
- lib/psych/class_loader.rb
|
94
94
|
- lib/psych/coder.rb
|
95
95
|
- lib/psych/core_ext.rb
|
96
|
-
- lib/psych/deprecated.rb
|
97
96
|
- lib/psych/exception.rb
|
98
97
|
- lib/psych/handler.rb
|
99
98
|
- lib/psych/handlers/document_stream.rb
|
@@ -150,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
149
|
version: '0'
|
151
150
|
requirements: []
|
152
151
|
rubyforge_project:
|
153
|
-
rubygems_version: 2.6.
|
152
|
+
rubygems_version: 2.6.12
|
154
153
|
signing_key:
|
155
154
|
specification_version: 4
|
156
155
|
summary: Psych is a YAML parser and emitter
|
data/lib/psych/deprecated.rb
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
# frozen_string_literal: false
|
2
|
-
require 'date'
|
3
|
-
|
4
|
-
module Psych
|
5
|
-
DEPRECATED = __FILE__ # :nodoc:
|
6
|
-
|
7
|
-
module DeprecatedMethods # :nodoc:
|
8
|
-
attr_accessor :taguri
|
9
|
-
attr_accessor :to_yaml_style
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.quick_emit thing, opts = {}, &block # :nodoc:
|
13
|
-
warn "#{caller[0]}: YAML.quick_emit is deprecated" if $VERBOSE && !caller[0].start_with?(File.dirname(__FILE__))
|
14
|
-
target = eval 'self', block.binding
|
15
|
-
target.extend DeprecatedMethods
|
16
|
-
metaclass = class << target; self; end
|
17
|
-
metaclass.send(:define_method, :encode_with) do |coder|
|
18
|
-
target.taguri = coder.tag
|
19
|
-
target.to_yaml_style = coder.style
|
20
|
-
block.call coder
|
21
|
-
end
|
22
|
-
target.psych_to_yaml unless opts[:nodump]
|
23
|
-
end
|
24
|
-
|
25
|
-
# This method is deprecated, use Psych.load_stream instead.
|
26
|
-
def self.load_documents yaml, &block
|
27
|
-
if $VERBOSE
|
28
|
-
warn "#{caller[0]}: load_documents is deprecated, use load_stream"
|
29
|
-
end
|
30
|
-
list = load_stream yaml
|
31
|
-
return list unless block_given?
|
32
|
-
list.each(&block)
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.detect_implicit thing
|
36
|
-
warn "#{caller[0]}: detect_implicit is deprecated" if $VERBOSE
|
37
|
-
return '' unless String === thing
|
38
|
-
return 'null' if '' == thing
|
39
|
-
ss = ScalarScanner.new(ClassLoader.new)
|
40
|
-
ss.tokenize(thing).class.name.downcase
|
41
|
-
end
|
42
|
-
|
43
|
-
def self.add_ruby_type type_tag, &block
|
44
|
-
warn "#{caller[0]}: add_ruby_type is deprecated, use add_domain_type" if $VERBOSE
|
45
|
-
domain = 'ruby.yaml.org,2002'
|
46
|
-
key = ['tag', domain, type_tag].join ':'
|
47
|
-
@domain_types[key] = [key, block]
|
48
|
-
end
|
49
|
-
|
50
|
-
def self.add_private_type type_tag, &block
|
51
|
-
warn "#{caller[0]}: add_private_type is deprecated, use add_domain_type" if $VERBOSE
|
52
|
-
domain = 'x-private'
|
53
|
-
key = [domain, type_tag].join ':'
|
54
|
-
@domain_types[key] = [key, block]
|
55
|
-
end
|
56
|
-
|
57
|
-
def self.tagurize thing
|
58
|
-
warn "#{caller[0]}: add_private_type is deprecated, use add_domain_type" if $VERBOSE
|
59
|
-
return thing unless String === thing
|
60
|
-
"tag:yaml.org,2002:#{thing}"
|
61
|
-
end
|
62
|
-
|
63
|
-
def self.read_type_class type, reference
|
64
|
-
warn "#{caller[0]}: read_type_class is deprecated" if $VERBOSE
|
65
|
-
_, _, type, name = type.split ':', 4
|
66
|
-
|
67
|
-
reference = name.split('::').inject(reference) do |k,n|
|
68
|
-
k.const_get(n.to_sym)
|
69
|
-
end if name
|
70
|
-
[type, reference]
|
71
|
-
end
|
72
|
-
|
73
|
-
def self.object_maker klass, hash
|
74
|
-
warn "#{caller[0]}: object_maker is deprecated" if $VERBOSE
|
75
|
-
klass.allocate.tap do |obj|
|
76
|
-
hash.each { |k,v| obj.instance_variable_set(:"@#{k}", v) }
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
class Object
|
82
|
-
undef :to_yaml_properties rescue nil
|
83
|
-
def to_yaml_properties # :nodoc:
|
84
|
-
instance_variables
|
85
|
-
end
|
86
|
-
end
|