1 | #
|
---|
2 | # Constants used throughout the library
|
---|
3 | #
|
---|
4 | module YAML
|
---|
5 |
|
---|
6 | #
|
---|
7 | # Constants
|
---|
8 | #
|
---|
9 | VERSION = '0.60'
|
---|
10 | SUPPORTED_YAML_VERSIONS = ['1.0']
|
---|
11 |
|
---|
12 | #
|
---|
13 | # Parser tokens
|
---|
14 | #
|
---|
15 | WORD_CHAR = 'A-Za-z0-9'
|
---|
16 | PRINTABLE_CHAR = '-_A-Za-z0-9!?/()$\'". '
|
---|
17 | NOT_PLAIN_CHAR = '\x7f\x0-\x1f\x80-\x9f'
|
---|
18 | ESCAPE_CHAR = '[\\x00-\\x09\\x0b-\\x1f]'
|
---|
19 | INDICATOR_CHAR = '*&!|\\\\^@%{}[]='
|
---|
20 | SPACE_INDICATORS = '-#:,?'
|
---|
21 | RESTRICTED_INDICATORS = '#:,}]'
|
---|
22 | DNS_COMP_RE = "\\w(?:[-\\w]*\\w)?"
|
---|
23 | DNS_NAME_RE = "(?:(?:#{DNS_COMP_RE}\\.)+#{DNS_COMP_RE}|#{DNS_COMP_RE})"
|
---|
24 | ESCAPES = %w{\x00 \x01 \x02 \x03 \x04 \x05 \x06 \a
|
---|
25 | \x08 \t \n \v \f \r \x0e \x0f
|
---|
26 | \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17
|
---|
27 | \x18 \x19 \x1a \e \x1c \x1d \x1e \x1f
|
---|
28 | }
|
---|
29 | UNESCAPES = {
|
---|
30 | 'a' => "\x07", 'b' => "\x08", 't' => "\x09",
|
---|
31 | 'n' => "\x0a", 'v' => "\x0b", 'f' => "\x0c",
|
---|
32 | 'r' => "\x0d", 'e' => "\x1b", '\\' => '\\',
|
---|
33 | }
|
---|
34 |
|
---|
35 | #
|
---|
36 | # Default settings
|
---|
37 | #
|
---|
38 | DEFAULTS = {
|
---|
39 | :Indent => 2, :UseHeader => false, :UseVersion => false, :Version => '1.0',
|
---|
40 | :SortKeys => false, :AnchorFormat => 'id%03d', :ExplicitTypes => false,
|
---|
41 | :WidthType => 'absolute', :BestWidth => 80,
|
---|
42 | :UseBlock => false, :UseFold => false, :Encoding => :None
|
---|
43 | }
|
---|
44 |
|
---|
45 | end
|
---|