psych 2.2.1 → 5.1.2

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.
Files changed (70) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.md +24 -0
  3. data/{ext/psych/yaml/LICENSE → LICENSE} +9 -7
  4. data/README.md +13 -13
  5. data/ext/psych/depend +14 -0
  6. data/ext/psych/extconf.rb +43 -29
  7. data/ext/psych/psych.c +6 -3
  8. data/ext/psych/psych_emitter.c +10 -9
  9. data/ext/psych/psych_parser.c +69 -72
  10. data/ext/psych/psych_yaml_tree.c +0 -12
  11. data/lib/psych/class_loader.rb +11 -9
  12. data/lib/psych/coder.rb +1 -1
  13. data/lib/psych/core_ext.rb +3 -20
  14. data/lib/psych/exception.rb +17 -3
  15. data/lib/psych/handler.rb +8 -3
  16. data/lib/psych/handlers/document_stream.rb +2 -2
  17. data/lib/psych/handlers/recorder.rb +2 -2
  18. data/lib/psych/json/ruby_events.rb +1 -1
  19. data/lib/psych/json/stream.rb +3 -3
  20. data/lib/psych/json/tree_builder.rb +2 -2
  21. data/lib/psych/json/yaml_events.rb +1 -1
  22. data/lib/psych/nodes/alias.rb +3 -1
  23. data/lib/psych/nodes/document.rb +3 -1
  24. data/lib/psych/nodes/mapping.rb +3 -1
  25. data/lib/psych/nodes/node.rb +24 -5
  26. data/lib/psych/nodes/scalar.rb +4 -2
  27. data/lib/psych/nodes/sequence.rb +3 -1
  28. data/lib/psych/nodes/stream.rb +3 -1
  29. data/lib/psych/nodes.rb +8 -8
  30. data/lib/psych/omap.rb +1 -1
  31. data/lib/psych/parser.rb +14 -1
  32. data/lib/psych/scalar_scanner.rb +39 -47
  33. data/lib/psych/set.rb +1 -1
  34. data/lib/psych/stream.rb +1 -1
  35. data/lib/psych/streaming.rb +1 -1
  36. data/lib/psych/syntax_error.rb +2 -2
  37. data/lib/psych/tree_builder.rb +48 -8
  38. data/lib/psych/versions.rb +5 -4
  39. data/lib/psych/visitors/depth_first.rb +1 -1
  40. data/lib/psych/visitors/emitter.rb +1 -1
  41. data/lib/psych/visitors/json_tree.rb +2 -2
  42. data/lib/psych/visitors/to_ruby.rb +61 -31
  43. data/lib/psych/visitors/visitor.rb +18 -4
  44. data/lib/psych/visitors/yaml_tree.rb +111 -123
  45. data/lib/psych/visitors.rb +7 -7
  46. data/lib/psych/y.rb +1 -1
  47. data/lib/psych.rb +333 -96
  48. metadata +16 -52
  49. data/.gitignore +0 -14
  50. data/.travis.yml +0 -18
  51. data/CHANGELOG.rdoc +0 -576
  52. data/Gemfile +0 -3
  53. data/Mavenfile +0 -7
  54. data/Rakefile +0 -33
  55. data/bin/console +0 -7
  56. data/bin/setup +0 -6
  57. data/ext/psych/.gitignore +0 -11
  58. data/ext/psych/yaml/api.c +0 -1392
  59. data/ext/psych/yaml/config.h +0 -10
  60. data/ext/psych/yaml/dumper.c +0 -394
  61. data/ext/psych/yaml/emitter.c +0 -2329
  62. data/ext/psych/yaml/loader.c +0 -444
  63. data/ext/psych/yaml/parser.c +0 -1374
  64. data/ext/psych/yaml/reader.c +0 -469
  65. data/ext/psych/yaml/scanner.c +0 -3576
  66. data/ext/psych/yaml/writer.c +0 -141
  67. data/ext/psych/yaml/yaml.h +0 -1971
  68. data/ext/psych/yaml/yaml_private.h +0 -662
  69. data/lib/psych/deprecated.rb +0 -86
  70. data/psych.gemspec +0 -43
@@ -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
-