mkrf 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +2 -0
- data/MIT-LICENSE +7 -0
- data/README +54 -0
- data/Rakefile +107 -0
- data/lib/mkrf.rb +4 -0
- data/lib/mkrf/availability.rb +219 -0
- data/lib/mkrf/generator.rb +146 -0
- data/test/abstract_unit.rb +4 -0
- data/test/fixtures/down_a_directory/header_down_a_directory.h +1 -0
- data/test/fixtures/stdmkrf.h +1 -0
- data/test/sample_files/libtrivial/Rakefile +31 -0
- data/test/sample_files/libtrivial/extconf.rb +3 -0
- data/test/sample_files/libtrivial/lib/libtrivial.c +5 -0
- data/test/sample_files/libtrivial/lib/libtrivial.o +0 -0
- data/test/sample_files/libtrivial/libtrivial_so.bundle +0 -0
- data/test/sample_files/libtrivial/mkrf.log +1 -0
- data/test/sample_files/libxml-ruby-0.3.8/CHANGELOG +74 -0
- data/test/sample_files/libxml-ruby-0.3.8/LICENSE +22 -0
- data/test/sample_files/libxml-ruby-0.3.8/README +144 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/cbg.c +76 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/extconf.rb +49 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.c +86 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.h +82 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/libxml.rb +107 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/mkrf.log +1 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/old_extconf.rb +95 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.c +372 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attr.h +21 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attribute.c +224 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_attribute.h +21 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.c +1159 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_document.h +27 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_dtd.c +168 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_dtd.h +17 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_input_cbg.c +167 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_input_cbg.h +21 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node.c +2139 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node.h +28 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node_set.c +248 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_node_set.h +26 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_ns.c +153 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_ns.h +21 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.c +1417 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser.h +31 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser_context.c +715 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_parser_context.h +22 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_sax_parser.c +426 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_sax_parser.h +52 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_schema.c +142 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_schema.h +16 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_tree.c +43 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_tree.h +12 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xinclude.c +20 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xinclude.h +13 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.c +363 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath.h +24 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath_context.c +125 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpath_context.h +24 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer.c +100 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer.h +27 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer_context.c +21 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/ruby_xml_xpointer_context.h +18 -0
- data/test/sample_files/libxml-ruby-0.3.8/ext/xml/sax_parser_callbacks.inc +202 -0
- data/test/sample_files/syck-0.55/CHANGELOG +186 -0
- data/test/sample_files/syck-0.55/COPYING +54 -0
- data/test/sample_files/syck-0.55/Makefile +582 -0
- data/test/sample_files/syck-0.55/Makefile.am +5 -0
- data/test/sample_files/syck-0.55/Makefile.in +582 -0
- data/test/sample_files/syck-0.55/README +105 -0
- data/test/sample_files/syck-0.55/README.BYTECODE +484 -0
- data/test/sample_files/syck-0.55/README.EXT +444 -0
- data/test/sample_files/syck-0.55/RELEASE +123 -0
- data/test/sample_files/syck-0.55/TODO +25 -0
- data/test/sample_files/syck-0.55/aclocal.m4 +883 -0
- data/test/sample_files/syck-0.55/bootstrap +7 -0
- data/test/sample_files/syck-0.55/config.h +79 -0
- data/test/sample_files/syck-0.55/config.h.in +78 -0
- data/test/sample_files/syck-0.55/config.status +1197 -0
- data/test/sample_files/syck-0.55/config/README +14 -0
- data/test/sample_files/syck-0.55/config/depcomp +529 -0
- data/test/sample_files/syck-0.55/config/install-sh +323 -0
- data/test/sample_files/syck-0.55/config/missing +357 -0
- data/test/sample_files/syck-0.55/configure +6728 -0
- data/test/sample_files/syck-0.55/configure.in +36 -0
- data/test/sample_files/syck-0.55/ext/ruby/CHANGELOG +303 -0
- data/test/sample_files/syck-0.55/ext/ruby/README +400 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/MANIFEST +1 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/bytecode.c +1170 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/emitter.c +1224 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/extconf.rb +10 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/gram.c +1894 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/gram.h +79 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/handler.c +174 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/implicit.c +2989 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/mkrf.log +1 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/node.c +407 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/rubyext.c +2385 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.c +504 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/syck.h +458 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/token.c +2707 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/yaml2byte.c +250 -0
- data/test/sample_files/syck-0.55/ext/ruby/ext/syck/yamlbyte.h +170 -0
- data/test/sample_files/syck-0.55/ext/ruby/install.rb +1022 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/okay.rb +161 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/okay/news.rb +69 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/okay/rpc.rb +434 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml.rb +436 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/baseemitter.rb +247 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/basenode.rb +216 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/compat.rb +26 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/constants.rb +45 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/dbm.rb +111 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/emitter.rb +107 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/encoding.rb +33 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/error.rb +34 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/rubytypes.rb +438 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/store.rb +29 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/stream.rb +40 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/stringio.rb +83 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/syck.rb +19 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/tag.rb +86 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/types.rb +188 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/yamlnode.rb +54 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yaml/ypath.rb +52 -0
- data/test/sample_files/syck-0.55/ext/ruby/lib/yod.rb +1168 -0
- data/test/sample_files/syck-0.55/ext/ruby/samples/okayNews-modules.rb +27 -0
- data/test/sample_files/syck-0.55/ext/ruby/samples/okayNews-sample.rb +336 -0
- data/test/sample_files/syck-0.55/ext/ruby/samples/okayNews-validate.rb +341 -0
- data/test/sample_files/syck-0.55/ext/ruby/samples/okayRpc-client.rb +51 -0
- data/test/sample_files/syck-0.55/ext/ruby/samples/okayRpc-server.rb +85 -0
- data/test/sample_files/syck-0.55/ext/ruby/samples/yaml-sortHashKeys.rb +128 -0
- data/test/sample_files/syck-0.55/ext/ruby/tests/basic.rb +1653 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsAnchorAlias.yml +51 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsBasicTests.yml +282 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsBlockMapping.yml +78 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsBlockSequence.yml +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsDocumentSeparator.yml +102 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsErrorTests.yml +23 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsFlowCollections.yml +73 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsFoldedScalars.yml +215 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsMapInSeq.yml +0 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsNullsAndEmpties.yml +66 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsRubyTests.yml +182 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsSpecificationExamples.yml +2699 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsTypeTransfers.yml +265 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/YtsYpath.yml +221 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/cookbook.rb +159 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/index.yml +10 -0
- data/test/sample_files/syck-0.55/ext/ruby/yts/yts.rb +193 -0
- data/test/sample_files/syck-0.55/lib/Makefile +497 -0
- data/test/sample_files/syck-0.55/lib/Makefile.am +27 -0
- data/test/sample_files/syck-0.55/lib/Makefile.in +497 -0
- data/test/sample_files/syck-0.55/lib/bytecode.c +1170 -0
- data/test/sample_files/syck-0.55/lib/bytecode.re +525 -0
- data/test/sample_files/syck-0.55/lib/emitter.c +1224 -0
- data/test/sample_files/syck-0.55/lib/gram.c +1894 -0
- data/test/sample_files/syck-0.55/lib/gram.h +79 -0
- data/test/sample_files/syck-0.55/lib/gram.output +2005 -0
- data/test/sample_files/syck-0.55/lib/gram.y +481 -0
- data/test/sample_files/syck-0.55/lib/handler.c +174 -0
- data/test/sample_files/syck-0.55/lib/implicit.c +2989 -0
- data/test/sample_files/syck-0.55/lib/implicit.re +206 -0
- data/test/sample_files/syck-0.55/lib/node.c +407 -0
- data/test/sample_files/syck-0.55/lib/syck.c +504 -0
- data/test/sample_files/syck-0.55/lib/syck.h +458 -0
- data/test/sample_files/syck-0.55/lib/syck_st.c +577 -0
- data/test/sample_files/syck-0.55/lib/syck_st.h +46 -0
- data/test/sample_files/syck-0.55/lib/token.c +2707 -0
- data/test/sample_files/syck-0.55/lib/token.re +1139 -0
- data/test/sample_files/syck-0.55/lib/yaml2byte.c +250 -0
- data/test/sample_files/syck-0.55/lib/yamlbyte.h +170 -0
- data/test/sample_files/syck-0.55/stamp-h1 +1 -0
- data/test/sample_files/syck-0.55/tests/Basic.c +141 -0
- data/test/sample_files/syck-0.55/tests/CuTest.c +294 -0
- data/test/sample_files/syck-0.55/tests/CuTest.h +84 -0
- data/test/sample_files/syck-0.55/tests/Emit.c +87 -0
- data/test/sample_files/syck-0.55/tests/Makefile +480 -0
- data/test/sample_files/syck-0.55/tests/Makefile.am +13 -0
- data/test/sample_files/syck-0.55/tests/Makefile.in +480 -0
- data/test/sample_files/syck-0.55/tests/Parse.c +208 -0
- data/test/sample_files/syck-0.55/tests/YTS.c +2310 -0
- data/test/sample_files/syck-0.55/tests/YTS.c.erb +326 -0
- data/test/sample_files/syck-0.55/tests/YTS.c.rb +44 -0
- data/test/test_availability.rb +68 -0
- data/test/test_generator.rb +74 -0
- metadata +252 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
# Process this file with autoconf to produce a configure script.
|
2
|
+
AC_INIT(syck, 0.54)
|
3
|
+
AC_CONFIG_AUX_DIR(config)
|
4
|
+
AC_PREREQ(2.50)
|
5
|
+
|
6
|
+
AM_INIT_AUTOMAKE(syck, 0.54)
|
7
|
+
AM_CONFIG_HEADER(config.h)
|
8
|
+
|
9
|
+
# Checks for programs.
|
10
|
+
AC_PROG_CC_STDC
|
11
|
+
AC_PROG_INSTALL
|
12
|
+
AC_PROG_LN_S
|
13
|
+
AC_PROG_RANLIB
|
14
|
+
AC_PROG_MAKE_SET
|
15
|
+
AC_PROG_AWK
|
16
|
+
AC_PROG_YACC
|
17
|
+
AM_PROG_LEX
|
18
|
+
|
19
|
+
# Checks for libraries.
|
20
|
+
|
21
|
+
# Checks for header files.
|
22
|
+
AC_HEADER_STDC
|
23
|
+
AC_CHECK_HEADERS(alloca.h stdlib.h string.h)
|
24
|
+
AC_CHECK_SIZEOF(int, 4)
|
25
|
+
AC_CHECK_SIZEOF(long, 4)
|
26
|
+
|
27
|
+
# Checks for typedefs, structures, and compiler characteristics.
|
28
|
+
|
29
|
+
# Checks for library functions.
|
30
|
+
AC_FUNC_MALLOC
|
31
|
+
AC_FUNC_VPRINTF
|
32
|
+
|
33
|
+
AC_CONFIG_FILES([Makefile
|
34
|
+
lib/Makefile
|
35
|
+
tests/Makefile])
|
36
|
+
AC_OUTPUT
|
@@ -0,0 +1,303 @@
|
|
1
|
+
--- %YAML:1.0
|
2
|
+
- version: 0.60
|
3
|
+
date: 2003-06-05
|
4
|
+
changes:
|
5
|
+
- New parser backed by Syck. [http://whytheluckystiff.net/syck/] 100x faster.
|
6
|
+
- New YAML::DBM module.
|
7
|
+
|
8
|
+
- version: 0.50
|
9
|
+
date: 2003-01-13
|
10
|
+
changes:
|
11
|
+
- YAML::Store more like PStore fixes. Thank you, Eric Hodel.
|
12
|
+
- Bug fix to transfer methods, anchors, aliases in a seq-map shortcut. Thank you, Brad Hilton.
|
13
|
+
- Prototype YPath support nearly complete (still need to handle '..').
|
14
|
+
- New YAML::YamlNode#select! method will transform the results of a selection.
|
15
|
+
- No more '+' and '-' boolean implicits.
|
16
|
+
- Sequence-in-sequence shortcut nailed.
|
17
|
+
- Output YAML repaired for YTS.
|
18
|
+
- Radical 0.6 + YAML patches.
|
19
|
+
|
20
|
+
- version: 0.49
|
21
|
+
date: 2003-01-12
|
22
|
+
changes:
|
23
|
+
- New, cleaner, more efficient tokenizer. Three months worth of work, kids.
|
24
|
+
- Line numbers now reported on errors.
|
25
|
+
- New map-seq shortcut.
|
26
|
+
- New collection types. !omap, !pairs, !set.
|
27
|
+
- New implicits for !null, !float, and !boolean.
|
28
|
+
- Merge token changed to '<<'.
|
29
|
+
- Added sexagecimal format (for time and degrees).
|
30
|
+
- Removed the 'undef' possibility.
|
31
|
+
- Fixed implicit empties in inline sequences.
|
32
|
+
- Flow values allowed in their own indentation.
|
33
|
+
- Parsing plain scalars better than ever.
|
34
|
+
|
35
|
+
- version: 0.48
|
36
|
+
date: 2003-01-04
|
37
|
+
changes:
|
38
|
+
- Empty string implicit.
|
39
|
+
- New merge type rules! See http://www.yaml.org/type/merge/.
|
40
|
+
- URL encoding removed, replaced with YAML escaping.
|
41
|
+
- Binary type now does base64 exclusively.
|
42
|
+
- Removed parentheses syntax from !null, !bool and !float implicits.
|
43
|
+
- Fixes to the seq-map shortcut, addition of the new map-seq shortcut!
|
44
|
+
- Enhanced !okay/rpc's server.about return.
|
45
|
+
- The install script's --force command was removed.
|
46
|
+
- Directives now in %KEY:VALUE format.
|
47
|
+
|
48
|
+
- version: 0.47
|
49
|
+
date: 2002-11-11
|
50
|
+
changes:
|
51
|
+
- New IO via StringIO and IO#readline. A change from 0.50 that's being merged in now for speed.
|
52
|
+
- Trailing document separator bugfix.
|
53
|
+
- DomainType class for handling undefined type families.
|
54
|
+
- YAML::each_document alias for YAML::load_documents
|
55
|
+
- YAML::each_node alias for YAML::parse_documents
|
56
|
+
|
57
|
+
- version: 0.46
|
58
|
+
date: 2002-11-01
|
59
|
+
changes:
|
60
|
+
- RubyConf fluf release.
|
61
|
+
- In other words, no real changes.
|
62
|
+
- I'm talking about total jubilation.
|
63
|
+
|
64
|
+
- version: 0.45
|
65
|
+
date: 2002-10-31
|
66
|
+
changes:
|
67
|
+
- Yod generates PDF (requires Ruby-ClibPDF).
|
68
|
+
- Speed improvement of 20-30% in yaml.rb parser.
|
69
|
+
- Support for Okay modules.
|
70
|
+
- Long single-line strings will be folded if emitter has folding on.
|
71
|
+
|
72
|
+
- version: 0.44
|
73
|
+
date: 2002-10-10
|
74
|
+
changes:
|
75
|
+
- New !okay/news and !okay/rpc specifications.
|
76
|
+
- Racc no longer a run YAML.
|
77
|
+
|
78
|
+
- version: 0.43
|
79
|
+
date: 2002-09-17
|
80
|
+
changes:
|
81
|
+
- Strings now anchored only if the string contains a new line.
|
82
|
+
- Prototype for the !okay/type schema validator now included.
|
83
|
+
- Typing and implicit checking system now wired to YAML::transfer_method.
|
84
|
+
|
85
|
+
- version: 0.42
|
86
|
+
date: 2002-09-16
|
87
|
+
changes:
|
88
|
+
- Timestamp usec fixes galore from Michael Witrant.
|
89
|
+
- New API with parse_* and load_* for accessing the generic and native models, respectively.
|
90
|
+
- Basic YPath support checked in.
|
91
|
+
|
92
|
+
- version: 0.41
|
93
|
+
date: 2002-09-06
|
94
|
+
changes:
|
95
|
+
- New taguri typing mechanism (from Last Call spec).
|
96
|
+
- The '/' character allowed to start unquoted strings (from Last Call spec).
|
97
|
+
- Added YAML::Pairs type which capitalizes on the seq-map shortcut in the spec.
|
98
|
+
- Repaired cases in which nested inline collections were screwing things up.
|
99
|
+
- Emitter now emits the seq-map shortcut when possible.
|
100
|
+
- Custom classes which extend from Array and Object should round-trip.
|
101
|
+
|
102
|
+
- version: 0.40
|
103
|
+
date: 2002-08-28
|
104
|
+
changes:
|
105
|
+
- Added Emitter#map and Emitter#seq, along with YAML::quick_emit to ease writing to_yaml methods.
|
106
|
+
- Fixes to headless documents.
|
107
|
+
- Fix to PrivateType.
|
108
|
+
- Fix to empty classes extended from Array and Object.
|
109
|
+
- New reference checker uses anchors and aliases to prevent circular references.
|
110
|
+
- Binary data now emitting.
|
111
|
+
- Kernel::y method for dumping data as an alternative to Kernel::p.
|
112
|
+
|
113
|
+
- version: 0.39
|
114
|
+
date: 2002-08-15
|
115
|
+
changes:
|
116
|
+
- 'Improved multi-line scalar emissions. Beware of Iconv module with large text blocks.
|
117
|
+
It appears to be cutting off after a few k.'
|
118
|
+
- Problem with space indicators emitted by String#to_yaml. Bug reported by Tom Sawyer.
|
119
|
+
- Bug in comment-handling code. YAML couldn't parse the README.
|
120
|
+
- Yod now generating compilable CHM.
|
121
|
+
|
122
|
+
- version: 0.38
|
123
|
+
date: 2002-08-12
|
124
|
+
changes:
|
125
|
+
- Moved the Emitter into its own class. Thread-safe now.
|
126
|
+
- Added some basic Unicode support.
|
127
|
+
- More progress on Yod.
|
128
|
+
|
129
|
+
- version: 0.37
|
130
|
+
date: 2002-08-04
|
131
|
+
changes:
|
132
|
+
- Finished descriptions in the Cookbook.
|
133
|
+
- Added simpler inline Regexp and Range serialization.
|
134
|
+
|
135
|
+
- version: 0.36
|
136
|
+
date: 2002-08-01
|
137
|
+
changes:
|
138
|
+
- Renamed YAML.rb.
|
139
|
+
- Fixed slight inconsistency with space indicators in plain scalars.
|
140
|
+
|
141
|
+
- version: 0.35
|
142
|
+
date: 2002-07-29
|
143
|
+
changes:
|
144
|
+
- Range#to_yaml added.
|
145
|
+
- Space indicators now required as the spec prescribes (http://yaml.org/spec/#space_indicators).
|
146
|
+
- Negative numbers parsing fixed.
|
147
|
+
|
148
|
+
- version: 0.34
|
149
|
+
date: 2002-07-29
|
150
|
+
changes:
|
151
|
+
- Symbol#to_yaml added with abbreviated !ruby/sym syntax.
|
152
|
+
- Problems with NaN, Infinity, Floats emission.
|
153
|
+
- Complex keys, Symbol keys, Regexp keys bugfixes.
|
154
|
+
- Bug in Time#to_yaml. My bad.
|
155
|
+
|
156
|
+
- version: 0.33
|
157
|
+
date: 2002-07-29
|
158
|
+
changes:
|
159
|
+
- Better String#to_yaml, uses the parser's implicit type checker now!
|
160
|
+
- Headless documents now skipping the initial newline properly.
|
161
|
+
- Turned off SortKeys by default; still turned on in the tests.
|
162
|
+
|
163
|
+
- version: 0.32
|
164
|
+
date: 2002-07-28
|
165
|
+
changes:
|
166
|
+
- Opened up unquoted strings to more characters, is closer to spec now.
|
167
|
+
- Round tripping started with YTS.
|
168
|
+
- Problems with foreign characters fixed. Thanks, Robert Wagner.
|
169
|
+
- Problems with Array#to_yaml and Hash#to_yaml not giving a newline when nested. Again, RW.
|
170
|
+
- Bugs in positive timezones with Time#to_yaml fixed by Tobias Peters!
|
171
|
+
|
172
|
+
- version: 0.31
|
173
|
+
date: 2002-07-27
|
174
|
+
changes:
|
175
|
+
- Fixed bug in multiline quoted strings.
|
176
|
+
- Added YTS cases for odd newline and spaced block scalars.
|
177
|
+
|
178
|
+
- version: 0.30
|
179
|
+
date: 2002-07-26
|
180
|
+
changes:
|
181
|
+
- Added support for Steve's new YTS streams.
|
182
|
+
- Refactored newline handling across all blocks.
|
183
|
+
|
184
|
+
- version: 0.29
|
185
|
+
date: 2002-07-24
|
186
|
+
changes:
|
187
|
+
- First stab at Unicode support.
|
188
|
+
- Basic tests fixed.
|
189
|
+
|
190
|
+
- version: 0.28
|
191
|
+
date: 2002-07-24
|
192
|
+
changes:
|
193
|
+
- Special comment key and default key supported.
|
194
|
+
- Multiline unquoted supported in in-line constructs.
|
195
|
+
|
196
|
+
- version: 0.27
|
197
|
+
date: 2002-07-24
|
198
|
+
changes:
|
199
|
+
- Handling of literal and folded blocks finally matches the spec for indented blocks.
|
200
|
+
- All indentation should be handled correctly.
|
201
|
+
- Indented comments properly handled.
|
202
|
+
|
203
|
+
- version: 0.26
|
204
|
+
date: 2002-07-23
|
205
|
+
changes:
|
206
|
+
- Fixed Timestamps to handle single character usec.
|
207
|
+
- Complete spec now in YTS.
|
208
|
+
|
209
|
+
- version: 0.25
|
210
|
+
date: 2002-07-21
|
211
|
+
changes:
|
212
|
+
- New Object#to_yaml provides a good generic export for most Ruby objects.
|
213
|
+
- Fixes to the TrueClass, FalseClass, NilClass export methods.
|
214
|
+
- Test harness for the YTS (YamlTestingSuite).
|
215
|
+
- Distribution now includes yaml4r.rb directly, use --force to remake.
|
216
|
+
|
217
|
+
- version: 0.24
|
218
|
+
date: 2002-07-17
|
219
|
+
changes:
|
220
|
+
- Started CHM output for Yod.
|
221
|
+
- Better support for multiline scalars, multiline double-quoted strings, and multiline single-quoted strings.
|
222
|
+
- Cleaned up the parser code, its indentation and comments.
|
223
|
+
|
224
|
+
- version: 0.23
|
225
|
+
date: 2002-07-16
|
226
|
+
changes:
|
227
|
+
- Major fixes to the Time emitter and parser. Time zones should work.
|
228
|
+
- Fixes to indentation at the start of a document.
|
229
|
+
- More Yod work.
|
230
|
+
|
231
|
+
- version: 0.22
|
232
|
+
date: 2002-07-16
|
233
|
+
changes:
|
234
|
+
- Started Yod documentation.
|
235
|
+
- Working to fix indentation problems.
|
236
|
+
|
237
|
+
- version: 0.21
|
238
|
+
date: 2002-07-15
|
239
|
+
changes:
|
240
|
+
- Private types now available via add_private_type or returns a PrivateType class.
|
241
|
+
- URI escaping.
|
242
|
+
- All ruby types now registered under the ruby.yaml.org domain as the spec describes.
|
243
|
+
- Fixed double-quoted string ending on last character of the document.
|
244
|
+
|
245
|
+
- version: 0.20
|
246
|
+
date: 2002-07-14
|
247
|
+
changes:
|
248
|
+
- Better error reporting from the parser. Shows the sensitive area and sometimes a bit of advice.
|
249
|
+
- Binary data builtin now suported for strings and scalar blocks.
|
250
|
+
- Spanning quoted strings should be good.
|
251
|
+
- Pause marker supported.
|
252
|
+
|
253
|
+
- version: 0.19
|
254
|
+
date: 2002-07-12
|
255
|
+
changes:
|
256
|
+
- Parsing of multiple documents via YAML4R::load_document and Parser#parse_documents.
|
257
|
+
|
258
|
+
- version: 0.18
|
259
|
+
date: 2002-07-11
|
260
|
+
changes:
|
261
|
+
- New YAML4R::add_domain_type, YAML4R::add_ruby_type, YAML4R::add_builtin_type! Beginning of an era!
|
262
|
+
- Transfer method prefixing.
|
263
|
+
- Better support for commas, colons in unquoted strings.
|
264
|
+
- All supported types now added with add_builtin_type.
|
265
|
+
- Separators in scalars was throwing the parser off.
|
266
|
+
- Seperated unit tests into smaller, more specific functions.
|
267
|
+
- README and CHANGELOG now fully parsed by YAML4R.
|
268
|
+
- The install.rb now has a --force option to force Racc to remake the grammar.
|
269
|
+
|
270
|
+
- version: 0.17
|
271
|
+
date: 2002-07-10
|
272
|
+
changes:
|
273
|
+
- Implicit Time elements added (without timezones).
|
274
|
+
- Folded and literal blocks alot closer.
|
275
|
+
- Spanned strings making progress.
|
276
|
+
- Struct fully round-trip.
|
277
|
+
|
278
|
+
- version: 0.16
|
279
|
+
date: 2002-07-09
|
280
|
+
changes:
|
281
|
+
- Nearing completion of scalar blocks, literal and folded both implemented.
|
282
|
+
- Improvements to the Struct class round-trip.
|
283
|
+
- Adjunct words are combined to prevent odd errors.
|
284
|
+
|
285
|
+
- version: 0.15
|
286
|
+
date: 2002-07-09
|
287
|
+
changes:
|
288
|
+
- Added ! explicit implicit operator.
|
289
|
+
- Added Struct#to_yaml.
|
290
|
+
- Fixes to double-quoted strings.
|
291
|
+
- Fixes to Regexp#to_yaml. Added unit tests to reflect.
|
292
|
+
|
293
|
+
- version: 0.14
|
294
|
+
date: 2002-07-08
|
295
|
+
changes:
|
296
|
+
- Initial public release.
|
297
|
+
- README in YAML.
|
298
|
+
- Complex keys.
|
299
|
+
- Single-quoted, double-quoted scalars.
|
300
|
+
- Transfer methods now parsed.
|
301
|
+
- Cleaned up the grammar a bit more.
|
302
|
+
- Anchors and aliases.
|
303
|
+
|
@@ -0,0 +1,400 @@
|
|
1
|
+
#
|
2
|
+
#
|
3
|
+
# .. yaml.rb .....
|
4
|
+
# . .
|
5
|
+
# . .
|
6
|
+
# . .
|
7
|
+
# ....... v0.60 ..
|
8
|
+
#
|
9
|
+
#
|
10
|
+
#
|
11
|
+
# {o}
|
12
|
+
# ^
|
13
|
+
# {o}
|
14
|
+
# ^
|
15
|
+
#
|
16
|
+
# Load this README!
|
17
|
+
#
|
18
|
+
# >> YAML::load( File.open( 'README' ) )
|
19
|
+
#
|
20
|
+
--- %YAML:1.0
|
21
|
+
title: YAML.rb
|
22
|
+
version: 0.60
|
23
|
+
author: [Why the Lucky Stiff, yaml-core@whytheluckystiff.net]
|
24
|
+
websites: [http://www.yaml.org, http://yaml4r.sf.net, http://sf.net/projects/yaml4r/]
|
25
|
+
installation: >
|
26
|
+
YAML.rb depends on Racc, available in the RAA:
|
27
|
+
|
28
|
+
http://www.ruby-lang.org/en/raa-list.rhtml?name=Racc
|
29
|
+
|
30
|
+
Once Racc is installed, run the install.rb script in this
|
31
|
+
distribution:
|
32
|
+
|
33
|
+
ruby install.rb
|
34
|
+
|
35
|
+
To run the included unit tests:
|
36
|
+
|
37
|
+
ruby tests/basic.rb
|
38
|
+
|
39
|
+
To run the new YamlTestingSuite:
|
40
|
+
|
41
|
+
cd yts
|
42
|
+
ruby yts.rb
|
43
|
+
|
44
|
+
about: >
|
45
|
+
From the specification:
|
46
|
+
|
47
|
+
"YAML(tm) (rhymes with 'camel') is a
|
48
|
+
straightforward machine parsable data serialization format designed for
|
49
|
+
human readability and interaction with scripting languages such as Perl
|
50
|
+
and Python. YAML is optimized for data serialization, formatted
|
51
|
+
dumping, configuration files, log files, Internet messaging and
|
52
|
+
filtering. This specification describes the YAML information model and
|
53
|
+
serialization format. Together with the Unicode standard for characters, it
|
54
|
+
provides all the information necessary to understand YAML Version 1.0
|
55
|
+
and construct computer programs to process it."
|
56
|
+
|
57
|
+
For Ruby developers, YAML is a natural fit for object serialization and
|
58
|
+
general data storage. Really, it's quite fantastic. Spreads right on
|
59
|
+
your Rubyware like butter on bread!
|
60
|
+
|
61
|
+
The possible uses for YAML are innumerable. Configuration files,
|
62
|
+
custom internet protocols, documentation, the list goes on and on.
|
63
|
+
Also, with YAML readers popping up for other languages (see YAML.pm
|
64
|
+
and others), you can pass data easily to colleagues in distant lands,
|
65
|
+
swamped in their archaic languages.
|
66
|
+
|
67
|
+
YAML is a beacon of light, reaching out to them all. ;)
|
68
|
+
|
69
|
+
If I can-- quickly, of course-- in the Pickaxe book-- my all-time favorite
|
70
|
+
coding book-- Dave Thomas and Andy Hunt say:
|
71
|
+
|
72
|
+
"When we discovered Ruby, we realized that we'd found what we'd been looking
|
73
|
+
for. More than any other language with which we have worked, Ruby stays
|
74
|
+
out of your way. You can concentrate on solving the problem at hand, instead
|
75
|
+
of struggling with compiler and language issues. That's how it can help you
|
76
|
+
become a better programmer: by giving you the chance to spend your time
|
77
|
+
creating solutions for your users, not for the compiler."
|
78
|
+
|
79
|
+
HeiL! So true. Ruby's elegance, its readability, its common sense! Such
|
80
|
+
it is with YAML. YAML is completely readable, in fact much of its syntax
|
81
|
+
parallels Ruby's own data structure syntax!
|
82
|
+
|
83
|
+
Another one from the Pickaxe:
|
84
|
+
|
85
|
+
"Ruby is easy to learn. Everyday tasks are simple to code and once you've done
|
86
|
+
them, they are easy to maintain and grow. Apparently difficult things often
|
87
|
+
turn out not to have been difficult after all. Ruby follows the Principle
|
88
|
+
of Least Surprise--things work the way you would expect them to, with very
|
89
|
+
few special cases or exceptions. And that really does make a difference
|
90
|
+
when you're programming."
|
91
|
+
|
92
|
+
A quick look at YAML and you can see your data structure immediately. If
|
93
|
+
I compare it to SOAP or XML-RPC, the difference is immense. With XML-RPC,
|
94
|
+
you can see the data structures, but its terribly verbose. More time is
|
95
|
+
spent describing the structure than anything else. Again, the Principle
|
96
|
+
of Least Surprise is wholly present in YAML. Thank God!
|
97
|
+
|
98
|
+
Well, welcome to YAML.rb. Now let's look at the API and see what we're
|
99
|
+
dealing with!
|
100
|
+
|
101
|
+
lets show off:
|
102
|
+
- section: Exporting objects to YAML
|
103
|
+
explanation: >
|
104
|
+
|
105
|
+
Ruby encourages objects to have their own exporting methods. Hence, YAML.rb
|
106
|
+
adds #to_yaml methods for built-in types. The NilClass, FalseClass, TrueClass, Symbol, Range,
|
107
|
+
Numeric, Date, Time, Regexp, String, Array, and Hash all contain the to_yaml method.
|
108
|
+
|
109
|
+
example: |
|
110
|
+
|
111
|
+
require 'yaml'
|
112
|
+
h = { 'test' => 12, 'another' => 13 }
|
113
|
+
puts h.to_yaml
|
114
|
+
|
115
|
+
- section: Loading a single YAML document
|
116
|
+
explanation: >
|
117
|
+
|
118
|
+
Although you'll often want to store multiple YAML documents in a single
|
119
|
+
file, YAML.rb has a mechanism for loading and storing a single document in
|
120
|
+
a single file. I wanted to offer a simpler API for those who don't care
|
121
|
+
for the multiple document styling and just want to store a single object.
|
122
|
+
|
123
|
+
example: |
|
124
|
+
|
125
|
+
require 'yaml'
|
126
|
+
obj = YAML::load( File::open( "/tmp/yaml.store.1" ) )
|
127
|
+
|
128
|
+
- section: Loading an object from a string
|
129
|
+
explanation: >
|
130
|
+
|
131
|
+
Perhaps you get an object from an HTTP post. String objects can be
|
132
|
+
loaded through the same YAML::load used with the File object above.
|
133
|
+
You can also pass StringIO into YAML::load.
|
134
|
+
|
135
|
+
example: |
|
136
|
+
|
137
|
+
require 'yaml'
|
138
|
+
obj = YAML::load( <<EOY
|
139
|
+
--- %YAML:1.0
|
140
|
+
- armless
|
141
|
+
- falling
|
142
|
+
- birds
|
143
|
+
EOY
|
144
|
+
)
|
145
|
+
p obj
|
146
|
+
#=> [ 'armless', 'falling', 'birds' ]
|
147
|
+
|
148
|
+
- section: Replacing PStore with YAML
|
149
|
+
explanation: >
|
150
|
+
|
151
|
+
PStore is an excellent utility for Ruby developers. Akin to Python's pickle,
|
152
|
+
objects can be serialized to a file. In YAML.rb, the PStore API is replicated
|
153
|
+
identically, as a drop-in replacement for PStore code.
|
154
|
+
|
155
|
+
example: |
|
156
|
+
|
157
|
+
require 'yaml'
|
158
|
+
y = YAML::Store.new( "/tmp/yaml.store.1", :Indent => 2, :Separator => '---.pstore' )
|
159
|
+
y.transaction do
|
160
|
+
y['names'] = ['Crispin', 'Glover']
|
161
|
+
y['hello'] = {'hi' => 'hello', 'yes' => 'YES!!' }
|
162
|
+
end
|
163
|
+
|
164
|
+
- section: Exporting multiple documents to YAML
|
165
|
+
explanation: >
|
166
|
+
|
167
|
+
A single YAML file can store several documents, each opened with a YAML separator ('---').
|
168
|
+
This can be especially useful for streaming data over a socket or for separating
|
169
|
+
log file entries (as see in the spec -- http://yaml.org/spec/).
|
170
|
+
|
171
|
+
This release writes all documents out upon calling YAML::Stream#emit, but future
|
172
|
+
releases will allow document writing to stream individually.
|
173
|
+
|
174
|
+
example: |
|
175
|
+
|
176
|
+
y = YAML::Stream.new( :Indent => 2, :UseVersion => true )
|
177
|
+
y.add( {'my_regex' => /hello [Jj][Aa][Mm][Ee][Ss]/, 'my_age' => 90 } )
|
178
|
+
y.add( {'hi' => 'wow!', 'bye' => 'wow!'} )
|
179
|
+
y.add( {['Red Socks','Boston'] => ['One', 'Two', 'Three']} )
|
180
|
+
y.add( [true, false, false] )
|
181
|
+
puts y.emit
|
182
|
+
|
183
|
+
- section: Loading multiple documents at once into a YAML::Stream
|
184
|
+
explanation: >
|
185
|
+
|
186
|
+
In using YAML::Stream to write your objects, you may find that
|
187
|
+
you want a quick way to load several documents at once back into
|
188
|
+
a YAML::Stream, for editing and rewriting.
|
189
|
+
|
190
|
+
example: |
|
191
|
+
|
192
|
+
require 'yaml'
|
193
|
+
File.open( "/home/why/.personalrc", "rw" ) { |rc|
|
194
|
+
# Load the objects from the file
|
195
|
+
y = YAML::load_stream( rc )
|
196
|
+
# Make edits to the objects
|
197
|
+
doc2 = y.documents[2]
|
198
|
+
doc2['car'] = '1997 Subaru Outback'
|
199
|
+
y.edit( 2, doc2 )
|
200
|
+
# Save back out
|
201
|
+
rc.rewind
|
202
|
+
rc.write( y.emit )
|
203
|
+
rc.close
|
204
|
+
}
|
205
|
+
|
206
|
+
- section: Loading multiple documents from a YAML stream
|
207
|
+
explanation: |
|
208
|
+
|
209
|
+
When reading YAML from a socket or a pipe, you should
|
210
|
+
consider using the event-based parser, which will parse
|
211
|
+
documents one at a time.
|
212
|
+
|
213
|
+
example: |
|
214
|
+
|
215
|
+
require 'yaml'
|
216
|
+
log = File.open( "/var/log/apache.yaml" )
|
217
|
+
yp = YAML::load_documents( log ) { |doc|
|
218
|
+
puts "#{doc['at']} #{doc['type']} #{doc['url}"
|
219
|
+
}
|
220
|
+
|
221
|
+
# Note the YAML document embedded in the YAML document!
|
222
|
+
cheat sheet: |
|
223
|
+
# A YAML reference card
|
224
|
+
--- %YAML:1.0
|
225
|
+
|
226
|
+
Collection indicators:
|
227
|
+
'? ' : Key indicator.
|
228
|
+
': ' : Key / value separator.
|
229
|
+
'- ' : Nested series entry indicator.
|
230
|
+
', ' : Separate in-line branch entries.
|
231
|
+
'[]' : Surround in-line series branch.
|
232
|
+
'{}' : Surround in-line keyed branch.
|
233
|
+
|
234
|
+
Scalar indicators:
|
235
|
+
'''' : Surround in-line unescaped scalar ('' escaped ').
|
236
|
+
'"' : Surround in-line escaped scalar (see escape codes below).
|
237
|
+
'|' : Block scalar indicator.
|
238
|
+
'>' : Folded scalar indicator.
|
239
|
+
'-' : Strip chomp modifier ('|-' or '>-').
|
240
|
+
'+' : Keep chomp modifier ('|+' or '>+').
|
241
|
+
int : Explicit indentation modifier ('|10' or '>2').
|
242
|
+
# Modifiers can be combined ('|2-', '>+10').
|
243
|
+
|
244
|
+
Alias indicators:
|
245
|
+
'&' : Anchor property.
|
246
|
+
'*' : Alias indicator.
|
247
|
+
|
248
|
+
Transfer indicators:
|
249
|
+
'!' : Transfer method indicator.
|
250
|
+
'!!' : Transfer method with private type family.
|
251
|
+
'^' : Establish/use global type family prefix.
|
252
|
+
'|' : Separate global type family from format.
|
253
|
+
|
254
|
+
Document indicators:
|
255
|
+
'%' : Directive indicator.
|
256
|
+
'---' : Document separator.
|
257
|
+
'...' : Document terminator.
|
258
|
+
|
259
|
+
Misc indicators:
|
260
|
+
' #' : Throwaway comment indicator.
|
261
|
+
'=' : Default value map key.
|
262
|
+
'<<' : Insert keys from map key.
|
263
|
+
|
264
|
+
Core types: ### Almost never given explicitly
|
265
|
+
'!map' : [ Hash table, dictionary, mapping ]
|
266
|
+
'!seq' : [ List, array, tuple, vector, sequence ]
|
267
|
+
'!str' : Unicode string
|
268
|
+
|
269
|
+
Language Independent Scalar types:
|
270
|
+
[ , ~, null ] : Null (no value).
|
271
|
+
[ 1,234, 0x4D2, 02333, 20:34 ] : [ Decimal int, Hexadecimal, Octal, Base60 ]
|
272
|
+
[ 1,230.15, 12.3015e+02, 20:20.15 ] : [ Fixed float, Exponential, Base60 ]
|
273
|
+
[ .inf, -.Inf, .NAN ] : [ Infinity (float), Negative, Not a number ]
|
274
|
+
[ +, true, Yes, ON ] : Boolean true
|
275
|
+
[ -, false, No, OFF ] : Boolean false
|
276
|
+
? !binary >
|
277
|
+
R0lG...BADS=
|
278
|
+
:
|
279
|
+
Base 64 binary value.
|
280
|
+
|
281
|
+
Escape codes:
|
282
|
+
Numeric : { "\xXX": 8-bit, "\uXXXX": 16-bit, "\UXXXXXXXX": 32-bit }
|
283
|
+
Protective: { "\\": '\', "\"": '"', "\ ": ' ' }
|
284
|
+
C: { "\a": BEL, "\b": BS, "\f": FF, "\n": LF, "\r": CR, "\t": TAB, "\v": VTAB }
|
285
|
+
Additional: { "\e": ESC, "\0": NUL, "\_": NBSP, "\N": NEL, "\L": LS, "\P": PS }
|
286
|
+
|
287
|
+
compliance:
|
288
|
+
- feature: YAML Separators
|
289
|
+
supported?: (Yes)
|
290
|
+
notes: Custom YAML separators are allowed and will be used in exporting multiple documents.
|
291
|
+
- feature: YAML directives
|
292
|
+
supported?: (Yes)
|
293
|
+
notes: >
|
294
|
+
Directives are parsed correctly, but are of little use. The TAB directive is completely
|
295
|
+
ignored, as tabs are not supported at this time.
|
296
|
+
- feature: Transfer methods
|
297
|
+
supported?: (Yes)
|
298
|
+
- feature: Private types
|
299
|
+
supported?: (Yes)
|
300
|
+
- feature: URI Escaping
|
301
|
+
supported?: (Yes)
|
302
|
+
- feature: URI Prefixing
|
303
|
+
supported?: (Yes)
|
304
|
+
- feature: Throwaway comments
|
305
|
+
supported?: (Yes)
|
306
|
+
- feature: Anchors
|
307
|
+
supported?: (Yes)
|
308
|
+
- feature: Aliases
|
309
|
+
supported?: (Yes)
|
310
|
+
- feature: Sequences
|
311
|
+
supported?: (Yes)
|
312
|
+
notes: Nested and flow both supported.
|
313
|
+
- feature: Mappings
|
314
|
+
supported?: (Yes)
|
315
|
+
notes: Nested and flow both supported.
|
316
|
+
- feature: Key indicators
|
317
|
+
supported?: (Yes)
|
318
|
+
- feature: Explicit indent
|
319
|
+
supported?: (Yes)
|
320
|
+
- feature: Chomping
|
321
|
+
supported?: (Yes)
|
322
|
+
- feature: Literal scalar
|
323
|
+
supported?: (Yes)
|
324
|
+
- feature: Folded scalar
|
325
|
+
supported?: (Yes)
|
326
|
+
- feature: Unquoted scalars
|
327
|
+
supported?: (Yes)
|
328
|
+
notes: No support for spanning unquoted.
|
329
|
+
- feature: Single-quoted scalars
|
330
|
+
supported?: (Yes)
|
331
|
+
- feature: Double-quoted scalars
|
332
|
+
supported?: (Yes)
|
333
|
+
- feature: Escape characters
|
334
|
+
supported?: (Yes)
|
335
|
+
notes: Most should be.
|
336
|
+
- feature: Strings
|
337
|
+
supported?: (Yes)
|
338
|
+
- feature: Null
|
339
|
+
supported?: (Yes)
|
340
|
+
feature: Canonical and english.
|
341
|
+
- feature: Boolean
|
342
|
+
supported?: (Yes)
|
343
|
+
notes: Canonical and english.
|
344
|
+
- feature: Integer
|
345
|
+
supported?: (Yes)
|
346
|
+
notes: Canonical, oct, dec, and hex.
|
347
|
+
- feature: Float
|
348
|
+
supported?: (Yes)
|
349
|
+
notes: Canonical, exp, fix, english
|
350
|
+
- feature: Time
|
351
|
+
supported?: (Yes)
|
352
|
+
notes: Canonical, iso8601, spaced and ymd (as Date).
|
353
|
+
- feature: Binary
|
354
|
+
supported?: (Yes)
|
355
|
+
- feature: Default key
|
356
|
+
supported?: (Yes)
|
357
|
+
|
358
|
+
acknowledgements:
|
359
|
+
- who: Brian Ingerson
|
360
|
+
why?: |
|
361
|
+
Ingy's YAML.pm was INDISPENSABLE in writing this library. In fact,
|
362
|
+
most of the emitter code follows the YAML.pm code quite closely.
|
363
|
+
I also borrowed from his testing suite. Hopefully in the near
|
364
|
+
future, YAML.rb and YAML.pm will use the same testing suite.
|
365
|
+
|
366
|
+
Brian is also the creator of YAML. I'd say he's the free software
|
367
|
+
equivalent of an Olympic long jumper.
|
368
|
+
email: ingy@ttul.org
|
369
|
+
|
370
|
+
- who: Steve Howell
|
371
|
+
why?: |
|
372
|
+
Comrade on the Yaml-core mailing list. He's working on the
|
373
|
+
Python YAML implementation. Very encouraging of this project.
|
374
|
+
I plan on stealing his Ruby code to handle circular data structures.
|
375
|
+
Steve has also contributed to the YAML Testing Suite.
|
376
|
+
email: showell@zipcon.net
|
377
|
+
|
378
|
+
- who: Clark Evans
|
379
|
+
why?: |
|
380
|
+
Clark showed immediate excitement upon discovery of YAML.rb.
|
381
|
+
And at that point I hadn't really done much yet, but the
|
382
|
+
encouragement sure helped alot.
|
383
|
+
|
384
|
+
- who: Oren Ben-Kiki
|
385
|
+
why?: |
|
386
|
+
For his work on the spec and the quick reference. All three
|
387
|
+
of these guys have built a well-written specification, paying
|
388
|
+
great attention to details.
|
389
|
+
|
390
|
+
- who: Yukihiro Matsumoto
|
391
|
+
why?: |
|
392
|
+
Creator of the Ruby language. The most innovative man in
|
393
|
+
software development bar none!
|
394
|
+
|
395
|
+
- who: qwilk
|
396
|
+
why?: |
|
397
|
+
Long-time friend at desktopian.org, developer of Blackbox for
|
398
|
+
Windows, Robin Hood web server. Excellent chum, persistent
|
399
|
+
BeOS fanatic and leader of a generation of shell folk.
|
400
|
+
|