psych 2.0.12 → 5.2.3
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 +5 -5
- data/CONTRIBUTING.md +24 -0
- data/{ext/psych/yaml/LICENSE → LICENSE} +9 -7
- data/README.md +80 -0
- data/ext/psych/depend +14 -0
- data/ext/psych/extconf.rb +43 -28
- data/ext/psych/psych.c +6 -4
- data/ext/psych/psych.h +0 -3
- data/ext/psych/psych_emitter.c +165 -132
- data/ext/psych/psych_parser.c +298 -331
- data/ext/psych/psych_to_ruby.c +0 -5
- data/ext/psych/psych_yaml_tree.c +0 -13
- data/lib/psych/class_loader.rb +11 -8
- data/lib/psych/coder.rb +1 -0
- data/lib/psych/core_ext.rb +3 -19
- data/lib/psych/exception.rb +17 -2
- data/lib/psych/handler.rb +8 -2
- data/lib/psych/handlers/document_stream.rb +2 -1
- data/lib/psych/handlers/recorder.rb +2 -1
- data/lib/psych/json/ruby_events.rb +1 -0
- data/lib/psych/json/stream.rb +3 -2
- data/lib/psych/json/tree_builder.rb +2 -1
- data/lib/psych/json/yaml_events.rb +1 -0
- data/lib/psych/nodes/alias.rb +3 -0
- data/lib/psych/nodes/document.rb +3 -0
- data/lib/psych/nodes/mapping.rb +3 -0
- data/lib/psych/nodes/node.rb +25 -5
- data/lib/psych/nodes/scalar.rb +4 -1
- data/lib/psych/nodes/sequence.rb +3 -0
- data/lib/psych/nodes/stream.rb +3 -0
- data/lib/psych/nodes.rb +8 -7
- data/lib/psych/omap.rb +1 -0
- data/lib/psych/parser.rb +14 -0
- data/lib/psych/scalar_scanner.rb +41 -49
- data/lib/psych/set.rb +1 -0
- data/lib/psych/stream.rb +1 -0
- data/lib/psych/streaming.rb +1 -0
- data/lib/psych/syntax_error.rb +2 -1
- data/lib/psych/tree_builder.rb +48 -7
- data/lib/psych/versions.rb +10 -0
- data/lib/psych/visitors/depth_first.rb +1 -0
- data/lib/psych/visitors/emitter.rb +1 -0
- data/lib/psych/visitors/json_tree.rb +2 -1
- data/lib/psych/visitors/to_ruby.rb +64 -33
- data/lib/psych/visitors/visitor.rb +18 -3
- data/lib/psych/visitors/yaml_tree.rb +128 -149
- data/lib/psych/visitors.rb +7 -6
- data/lib/psych/y.rb +1 -0
- data/lib/psych.rb +360 -95
- metadata +36 -169
- data/.autotest +0 -18
- data/.gemtest +0 -0
- data/.travis.yml +0 -11
- data/CHANGELOG.rdoc +0 -562
- data/Manifest.txt +0 -112
- data/README.rdoc +0 -71
- data/Rakefile +0 -74
- data/ext/psych/yaml/api.c +0 -1415
- data/ext/psych/yaml/config.h +0 -10
- data/ext/psych/yaml/dumper.c +0 -394
- data/ext/psych/yaml/emitter.c +0 -2329
- data/ext/psych/yaml/loader.c +0 -459
- data/ext/psych/yaml/parser.c +0 -1370
- data/ext/psych/yaml/reader.c +0 -469
- data/ext/psych/yaml/scanner.c +0 -3583
- data/ext/psych/yaml/writer.c +0 -141
- data/ext/psych/yaml/yaml.h +0 -1971
- data/ext/psych/yaml/yaml_private.h +0 -664
- data/lib/psych/deprecated.rb +0 -85
- data/test/psych/handlers/test_recorder.rb +0 -25
- data/test/psych/helper.rb +0 -114
- data/test/psych/json/test_stream.rb +0 -109
- data/test/psych/nodes/test_enumerable.rb +0 -43
- data/test/psych/test_alias_and_anchor.rb +0 -96
- data/test/psych/test_array.rb +0 -57
- data/test/psych/test_boolean.rb +0 -36
- data/test/psych/test_class.rb +0 -36
- data/test/psych/test_coder.rb +0 -184
- data/test/psych/test_date_time.rb +0 -38
- data/test/psych/test_deprecated.rb +0 -214
- data/test/psych/test_document.rb +0 -46
- data/test/psych/test_emitter.rb +0 -93
- data/test/psych/test_encoding.rb +0 -259
- data/test/psych/test_exception.rb +0 -157
- data/test/psych/test_hash.rb +0 -94
- data/test/psych/test_json_tree.rb +0 -65
- data/test/psych/test_marshalable.rb +0 -54
- data/test/psych/test_merge_keys.rb +0 -180
- data/test/psych/test_nil.rb +0 -18
- data/test/psych/test_null.rb +0 -19
- data/test/psych/test_numeric.rb +0 -45
- data/test/psych/test_object.rb +0 -44
- data/test/psych/test_object_references.rb +0 -71
- data/test/psych/test_omap.rb +0 -75
- data/test/psych/test_parser.rb +0 -339
- data/test/psych/test_psych.rb +0 -168
- data/test/psych/test_safe_load.rb +0 -97
- data/test/psych/test_scalar.rb +0 -11
- data/test/psych/test_scalar_scanner.rb +0 -106
- data/test/psych/test_serialize_subclasses.rb +0 -38
- data/test/psych/test_set.rb +0 -49
- data/test/psych/test_stream.rb +0 -93
- data/test/psych/test_string.rb +0 -226
- data/test/psych/test_struct.rb +0 -49
- data/test/psych/test_symbol.rb +0 -25
- data/test/psych/test_tainted.rb +0 -130
- data/test/psych/test_to_yaml_properties.rb +0 -63
- data/test/psych/test_tree_builder.rb +0 -79
- data/test/psych/test_yaml.rb +0 -1288
- data/test/psych/test_yamldbm.rb +0 -193
- data/test/psych/test_yamlstore.rb +0 -85
- data/test/psych/visitors/test_depth_first.rb +0 -49
- data/test/psych/visitors/test_emitter.rb +0 -144
- data/test/psych/visitors/test_to_ruby.rb +0 -326
- data/test/psych/visitors/test_yaml_tree.rb +0 -173
data/ext/psych/yaml/writer.c
DELETED
@@ -1,141 +0,0 @@
|
|
1
|
-
|
2
|
-
#include "yaml_private.h"
|
3
|
-
|
4
|
-
/*
|
5
|
-
* Declarations.
|
6
|
-
*/
|
7
|
-
|
8
|
-
static int
|
9
|
-
yaml_emitter_set_writer_error(yaml_emitter_t *emitter, const char *problem);
|
10
|
-
|
11
|
-
YAML_DECLARE(int)
|
12
|
-
yaml_emitter_flush(yaml_emitter_t *emitter);
|
13
|
-
|
14
|
-
/*
|
15
|
-
* Set the writer error and return 0.
|
16
|
-
*/
|
17
|
-
|
18
|
-
static int
|
19
|
-
yaml_emitter_set_writer_error(yaml_emitter_t *emitter, const char *problem)
|
20
|
-
{
|
21
|
-
emitter->error = YAML_WRITER_ERROR;
|
22
|
-
emitter->problem = problem;
|
23
|
-
|
24
|
-
return 0;
|
25
|
-
}
|
26
|
-
|
27
|
-
/*
|
28
|
-
* Flush the output buffer.
|
29
|
-
*/
|
30
|
-
|
31
|
-
YAML_DECLARE(int)
|
32
|
-
yaml_emitter_flush(yaml_emitter_t *emitter)
|
33
|
-
{
|
34
|
-
int low, high;
|
35
|
-
|
36
|
-
assert(emitter); /* Non-NULL emitter object is expected. */
|
37
|
-
assert(emitter->write_handler); /* Write handler must be set. */
|
38
|
-
assert(emitter->encoding); /* Output encoding must be set. */
|
39
|
-
|
40
|
-
emitter->buffer.last = emitter->buffer.pointer;
|
41
|
-
emitter->buffer.pointer = emitter->buffer.start;
|
42
|
-
|
43
|
-
/* Check if the buffer is empty. */
|
44
|
-
|
45
|
-
if (emitter->buffer.start == emitter->buffer.last) {
|
46
|
-
return 1;
|
47
|
-
}
|
48
|
-
|
49
|
-
/* If the output encoding is UTF-8, we don't need to recode the buffer. */
|
50
|
-
|
51
|
-
if (emitter->encoding == YAML_UTF8_ENCODING)
|
52
|
-
{
|
53
|
-
if (emitter->write_handler(emitter->write_handler_data,
|
54
|
-
emitter->buffer.start,
|
55
|
-
emitter->buffer.last - emitter->buffer.start)) {
|
56
|
-
emitter->buffer.last = emitter->buffer.start;
|
57
|
-
emitter->buffer.pointer = emitter->buffer.start;
|
58
|
-
return 1;
|
59
|
-
}
|
60
|
-
else {
|
61
|
-
return yaml_emitter_set_writer_error(emitter, "write error");
|
62
|
-
}
|
63
|
-
}
|
64
|
-
|
65
|
-
/* Recode the buffer into the raw buffer. */
|
66
|
-
|
67
|
-
low = (emitter->encoding == YAML_UTF16LE_ENCODING ? 0 : 1);
|
68
|
-
high = (emitter->encoding == YAML_UTF16LE_ENCODING ? 1 : 0);
|
69
|
-
|
70
|
-
while (emitter->buffer.pointer != emitter->buffer.last)
|
71
|
-
{
|
72
|
-
unsigned char octet;
|
73
|
-
unsigned int width;
|
74
|
-
unsigned int value;
|
75
|
-
size_t k;
|
76
|
-
|
77
|
-
/*
|
78
|
-
* See the "reader.c" code for more details on UTF-8 encoding. Note
|
79
|
-
* that we assume that the buffer contains a valid UTF-8 sequence.
|
80
|
-
*/
|
81
|
-
|
82
|
-
/* Read the next UTF-8 character. */
|
83
|
-
|
84
|
-
octet = emitter->buffer.pointer[0];
|
85
|
-
|
86
|
-
width = (octet & 0x80) == 0x00 ? 1 :
|
87
|
-
(octet & 0xE0) == 0xC0 ? 2 :
|
88
|
-
(octet & 0xF0) == 0xE0 ? 3 :
|
89
|
-
(octet & 0xF8) == 0xF0 ? 4 : 0;
|
90
|
-
|
91
|
-
value = (octet & 0x80) == 0x00 ? octet & 0x7F :
|
92
|
-
(octet & 0xE0) == 0xC0 ? octet & 0x1F :
|
93
|
-
(octet & 0xF0) == 0xE0 ? octet & 0x0F :
|
94
|
-
(octet & 0xF8) == 0xF0 ? octet & 0x07 : 0;
|
95
|
-
|
96
|
-
for (k = 1; k < width; k ++) {
|
97
|
-
octet = emitter->buffer.pointer[k];
|
98
|
-
value = (value << 6) + (octet & 0x3F);
|
99
|
-
}
|
100
|
-
|
101
|
-
emitter->buffer.pointer += width;
|
102
|
-
|
103
|
-
/* Write the character. */
|
104
|
-
|
105
|
-
if (value < 0x10000)
|
106
|
-
{
|
107
|
-
emitter->raw_buffer.last[high] = value >> 8;
|
108
|
-
emitter->raw_buffer.last[low] = value & 0xFF;
|
109
|
-
|
110
|
-
emitter->raw_buffer.last += 2;
|
111
|
-
}
|
112
|
-
else
|
113
|
-
{
|
114
|
-
/* Write the character using a surrogate pair (check "reader.c"). */
|
115
|
-
|
116
|
-
value -= 0x10000;
|
117
|
-
emitter->raw_buffer.last[high] = 0xD8 + (value >> 18);
|
118
|
-
emitter->raw_buffer.last[low] = (value >> 10) & 0xFF;
|
119
|
-
emitter->raw_buffer.last[high+2] = 0xDC + ((value >> 8) & 0xFF);
|
120
|
-
emitter->raw_buffer.last[low+2] = value & 0xFF;
|
121
|
-
|
122
|
-
emitter->raw_buffer.last += 4;
|
123
|
-
}
|
124
|
-
}
|
125
|
-
|
126
|
-
/* Write the raw buffer. */
|
127
|
-
|
128
|
-
if (emitter->write_handler(emitter->write_handler_data,
|
129
|
-
emitter->raw_buffer.start,
|
130
|
-
emitter->raw_buffer.last - emitter->raw_buffer.start)) {
|
131
|
-
emitter->buffer.last = emitter->buffer.start;
|
132
|
-
emitter->buffer.pointer = emitter->buffer.start;
|
133
|
-
emitter->raw_buffer.last = emitter->raw_buffer.start;
|
134
|
-
emitter->raw_buffer.pointer = emitter->raw_buffer.start;
|
135
|
-
return 1;
|
136
|
-
}
|
137
|
-
else {
|
138
|
-
return yaml_emitter_set_writer_error(emitter, "write error");
|
139
|
-
}
|
140
|
-
}
|
141
|
-
|