toml-rb 3.0.1 → 4.1.0
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 +4 -4
 - data/lib/toml-rb/errors.rb +1 -1
 - data/lib/toml-rb/grammars/document.citrus +18 -13
 - data/lib/toml-rb/grammars/primitive.citrus +9 -9
 - data/lib/toml-rb/inline_table.rb +1 -1
 - data/lib/toml-rb/keyvalue.rb +13 -7
 - data/lib/toml-rb/parser.rb +8 -0
 - data/lib/toml-rb/table.rb +8 -1
 - data/lib/toml-rb/version.rb +1 -1
 - data/lib/toml-rb.rb +0 -1
 - metadata +6 -7
 - data/lib/toml-rb/grammars/array.citrus +0 -37
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 80597ee120e2f6517bfca775d9215d4ac3c9c9880bac87c1ec432edb78f32566
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: fd278770b1c245508fc7ceb15336fba968e98b258bc06badcca0875107406292
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: d31002d86304f9c675da476e41f9c196077c7ded480f9f2224fb9d43416de1964238410828d55ce894f0ed68a0559097f2d96324be0f527771507f2589da4777
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 91a114c7a2c397be72edfb826025ae1cde65d0732359c38a3719ca6e61f2cd6eb237842d7ddf60e3034db9791c800c916e8bf1885aaa48e56ff147aaccc68d20
         
     | 
    
        data/lib/toml-rb/errors.rb
    CHANGED
    
    
| 
         @@ -1,6 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            grammar TomlRB::Document
         
     | 
| 
       2 
2 
     | 
    
         
             
              include TomlRB::Primitive
         
     | 
| 
       3 
     | 
    
         
            -
              include TomlRB::Arrays
         
     | 
| 
       4 
3 
     | 
    
         | 
| 
       5 
4 
     | 
    
         
             
              rule document
         
     | 
| 
       6 
5 
     | 
    
         
             
                (comment | table_array | table | keyvalue | line_break)*
         
     | 
| 
         @@ -18,35 +17,41 @@ grammar TomlRB::Document 
     | 
|
| 
       18 
17 
     | 
    
         
             
                (stripped_key '=' space? v:(toml_values) comment? space) <TomlRB::KeyvalueParser>
         
     | 
| 
       19 
18 
     | 
    
         
             
              end
         
     | 
| 
       20 
19 
     | 
    
         | 
| 
      
 20 
     | 
    
         
            +
              ### Values
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
       21 
22 
     | 
    
         
             
              rule inline_table
         
     | 
| 
       22 
23 
     | 
    
         
             
                (space? '{' (keyvalue? (',' keyvalue)*)? space? '}' ) <TomlRB::InlineTableParser>
         
     | 
| 
       23 
24 
     | 
    
         
             
              end
         
     | 
| 
       24 
25 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
              rule inline_table_array
         
     | 
| 
       26 
     | 
    
         
            -
                (inline_table (space "," array_comments inline_table)*) {
         
     | 
| 
       27 
     | 
    
         
            -
                  captures[:inline_table].map(&:value).map(&:value)
         
     | 
| 
       28 
     | 
    
         
            -
                }
         
     | 
| 
       29 
     | 
    
         
            -
              end
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
26 
     | 
    
         
             
              rule array
         
     | 
| 
       32 
27 
     | 
    
         
             
                ("[" array_comments (array_elements)? space ","? array_comments "]" indent?) <TomlRB::ArrayParser>
         
     | 
| 
       33 
28 
     | 
    
         
             
              end
         
     | 
| 
       34 
29 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
              rule array_elements
         
     | 
| 
       36 
     | 
    
         
            -
                inline_table_array | float_array | string_array | array_array | integer_array | datetime_array | bool_array
         
     | 
| 
       37 
     | 
    
         
            -
              end
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
30 
     | 
    
         
             
              rule array_array
         
     | 
| 
       40 
31 
     | 
    
         
             
                (array (space "," array_comments array)*) {
         
     | 
| 
       41 
32 
     | 
    
         
             
                  captures[:array].map(&:value)
         
     | 
| 
       42 
33 
     | 
    
         
             
                }
         
     | 
| 
       43 
34 
     | 
    
         
             
              end
         
     | 
| 
       44 
35 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
              rule  
     | 
| 
       46 
     | 
    
         
            -
                 
     | 
| 
      
 36 
     | 
    
         
            +
              rule array_elements
         
     | 
| 
      
 37 
     | 
    
         
            +
                (toml_values (indent? "," array_comments toml_values)*) {
         
     | 
| 
      
 38 
     | 
    
         
            +
                  captures[:toml_values].map(&:value).map do |v|
         
     | 
| 
      
 39 
     | 
    
         
            +
                    v.respond_to?(:value) ? v.value : v
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
                }
         
     | 
| 
       47 
42 
     | 
    
         
             
              end
         
     | 
| 
       48 
43 
     | 
    
         | 
| 
      
 44 
     | 
    
         
            +
              ### Helpers
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
       49 
46 
     | 
    
         
             
              rule stripped_key
         
     | 
| 
       50 
47 
     | 
    
         
             
                (space? key space?) { captures[:key].first.value }
         
     | 
| 
       51 
48 
     | 
    
         
             
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
              rule array_comments
         
     | 
| 
      
 51 
     | 
    
         
            +
                (indent? (comment indent?)*)
         
     | 
| 
      
 52 
     | 
    
         
            +
              end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
              rule toml_values
         
     | 
| 
      
 55 
     | 
    
         
            +
                primitive | inline_table | array
         
     | 
| 
      
 56 
     | 
    
         
            +
              end
         
     | 
| 
       52 
57 
     | 
    
         
             
            end
         
     | 
| 
         @@ -99,33 +99,33 @@ grammar TomlRB::Primitive 
     | 
|
| 
       99 
99 
     | 
    
         
             
              end
         
     | 
| 
       100 
100 
     | 
    
         | 
| 
       101 
101 
     | 
    
         
             
              rule exponential_float
         
     | 
| 
       102 
     | 
    
         
            -
                ((fractional_float |  
     | 
| 
      
 102 
     | 
    
         
            +
                ((fractional_float | decimal_integer) [eE] decimal_integer) { to_str.to_f }
         
     | 
| 
       103 
103 
     | 
    
         
             
              end
         
     | 
| 
       104 
104 
     | 
    
         | 
| 
       105 
105 
     | 
    
         
             
              rule fractional_float
         
     | 
| 
       106 
     | 
    
         
            -
                ( 
     | 
| 
      
 106 
     | 
    
         
            +
                (decimal_integer '.' [0-9] ([0-9] | '_' [0-9])*) {
         
     | 
| 
       107 
107 
     | 
    
         
             
                  to_str.to_f
         
     | 
| 
       108 
108 
     | 
    
         
             
                }
         
     | 
| 
       109 
109 
     | 
    
         
             
              end
         
     | 
| 
       110 
110 
     | 
    
         | 
| 
       111 
111 
     | 
    
         
             
              rule integer
         
     | 
| 
       112 
     | 
    
         
            -
                hexadecimal_integer | octal_integer | binary_integer |  
     | 
| 
      
 112 
     | 
    
         
            +
                hexadecimal_integer | octal_integer | binary_integer | decimal_integer
         
     | 
| 
       113 
113 
     | 
    
         
             
              end
         
     | 
| 
       114 
114 
     | 
    
         | 
| 
       115 
115 
     | 
    
         
             
              rule hexadecimal_integer
         
     | 
| 
       116 
     | 
    
         
            -
                ('0x' [a-fA-F0- 
     | 
| 
      
 116 
     | 
    
         
            +
                ('0x' [a-fA-F0-9] ([a-fA-F0-9] | '_' [a-fA-F0-9])*) { to_str.to_i(16) }
         
     | 
| 
       117 
117 
     | 
    
         
             
              end
         
     | 
| 
       118 
118 
     | 
    
         | 
| 
       119 
119 
     | 
    
         
             
              rule octal_integer
         
     | 
| 
       120 
     | 
    
         
            -
                ('0o' [0- 
     | 
| 
      
 120 
     | 
    
         
            +
                ('0o' [0-7] ([0-7] | '_' [0-7])*) { to_str.to_i(8) }
         
     | 
| 
       121 
121 
     | 
    
         
             
              end
         
     | 
| 
       122 
122 
     | 
    
         | 
| 
       123 
123 
     | 
    
         
             
              rule binary_integer
         
     | 
| 
       124 
     | 
    
         
            -
                ('0b' [ 
     | 
| 
      
 124 
     | 
    
         
            +
                ('0b' [01] ([01] | '_' [01])*) { to_str.to_i(2) }
         
     | 
| 
       125 
125 
     | 
    
         
             
              end
         
     | 
| 
       126 
126 
     | 
    
         | 
| 
       127 
     | 
    
         
            -
              rule  
     | 
| 
       128 
     | 
    
         
            -
                (sign? [0- 
     | 
| 
      
 127 
     | 
    
         
            +
              rule decimal_integer
         
     | 
| 
      
 128 
     | 
    
         
            +
                (sign? [0-9] ([0-9] | '_' [0-9])*) { to_str.to_i }
         
     | 
| 
       129 
129 
     | 
    
         
             
              end
         
     | 
| 
       130 
130 
     | 
    
         | 
| 
       131 
131 
     | 
    
         
             
              rule sign
         
     | 
| 
         @@ -161,7 +161,7 @@ grammar TomlRB::Primitive 
     | 
|
| 
       161 
161 
     | 
    
         
             
              end
         
     | 
| 
       162 
162 
     | 
    
         | 
| 
       163 
163 
     | 
    
         
             
              rule quoted_key
         
     | 
| 
       164 
     | 
    
         
            -
                basic_string | literal_string 
     | 
| 
      
 164 
     | 
    
         
            +
                basic_string | literal_string
         
     | 
| 
       165 
165 
     | 
    
         
             
              end
         
     | 
| 
       166 
166 
     | 
    
         | 
| 
       167 
167 
     | 
    
         
             
              rule single_key
         
     | 
    
        data/lib/toml-rb/inline_table.rb
    CHANGED
    
    
    
        data/lib/toml-rb/keyvalue.rb
    CHANGED
    
    | 
         @@ -16,24 +16,30 @@ module TomlRB 
     | 
|
| 
       16 
16 
     | 
    
         
             
                  keys = symbolize_keys ? @dotted_keys.map(&:to_sym) : @dotted_keys
         
     | 
| 
       17 
17 
     | 
    
         
             
                  update = keys.reverse.inject(visit_value(@value)) { |k1, k2| {k2 => k1} }
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
                  parent_inline_table = fully_defined_keys.find { |k| dotted_keys_str.start_with?("#{k}.") }
         
     | 
| 
      
 20 
     | 
    
         
            +
                  fail ValueOverwriteError.new(@dotted_keys.first) if parent_inline_table
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
       19 
22 
     | 
    
         
             
                  if @value.is_a?(InlineTable)
         
     | 
| 
      
 23 
     | 
    
         
            +
                    child_keys_exist = fully_defined_keys.find { |k| k.start_with?("#{dotted_keys_str}.") }
         
     | 
| 
      
 24 
     | 
    
         
            +
                    fail ValueOverwriteError.new(@dotted_keys.first) if child_keys_exist
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                    existing_hash = hash.dig(*keys)
         
     | 
| 
      
 27 
     | 
    
         
            +
                    fail ValueOverwriteError.new(@dotted_keys.first) if existing_hash.is_a?(Hash) && !existing_hash.empty?
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
       20 
29 
     | 
    
         
             
                    fully_defined_keys << dotted_keys_str
         
     | 
| 
       21 
     | 
    
         
            -
                    hash.merge!(update) { |key, _, _| fail ValueOverwriteError.new(key) }
         
     | 
| 
       22 
     | 
    
         
            -
                  elsif fully_defined_keys.find { |k| update.dig(*k) }
         
     | 
| 
       23 
     | 
    
         
            -
                    hash.merge!(update) { |key, _, _| fail ValueOverwriteError.new(key) }
         
     | 
| 
       24 
     | 
    
         
            -
                  else
         
     | 
| 
       25 
     | 
    
         
            -
                    dotted_key_merge(hash, update)
         
     | 
| 
       26 
30 
     | 
    
         
             
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  dotted_key_merge(hash, update)
         
     | 
| 
       27 
33 
     | 
    
         
             
                end
         
     | 
| 
       28 
34 
     | 
    
         | 
| 
       29 
35 
     | 
    
         
             
                def dotted_key_merge(hash, update)
         
     | 
| 
       30 
     | 
    
         
            -
                  hash.merge!(update)  
     | 
| 
      
 36 
     | 
    
         
            +
                  hash.merge!(update) do |key, old, new|
         
     | 
| 
       31 
37 
     | 
    
         
             
                    if old.is_a?(Hash) && new.is_a?(Hash)
         
     | 
| 
       32 
38 
     | 
    
         
             
                      dotted_key_merge(old, new)
         
     | 
| 
       33 
39 
     | 
    
         
             
                    else
         
     | 
| 
       34 
40 
     | 
    
         
             
                      fail ValueOverwriteError.new(key)
         
     | 
| 
       35 
41 
     | 
    
         
             
                    end
         
     | 
| 
       36 
     | 
    
         
            -
                   
     | 
| 
      
 42 
     | 
    
         
            +
                  end
         
     | 
| 
       37 
43 
     | 
    
         
             
                end
         
     | 
| 
       38 
44 
     | 
    
         | 
| 
       39 
45 
     | 
    
         
             
                def accept_visitor(parser)
         
     | 
    
        data/lib/toml-rb/parser.rb
    CHANGED
    
    | 
         @@ -14,6 +14,14 @@ module TomlRB 
     | 
|
| 
       14 
14 
     | 
    
         
             
                    parsed.matches.map(&:value).compact.each { |m| m.accept_visitor(self) }
         
     | 
| 
       15 
15 
     | 
    
         
             
                  rescue Citrus::ParseError => e
         
     | 
| 
       16 
16 
     | 
    
         
             
                    raise TomlRB::ParseError.new(e.message)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  rescue Encoding::CompatibilityError => e
         
     | 
| 
      
 18 
     | 
    
         
            +
                    raise TomlRB::ParseError.new("Encoding error: #{e.message}")
         
     | 
| 
      
 19 
     | 
    
         
            +
                  rescue ArgumentError => e
         
     | 
| 
      
 20 
     | 
    
         
            +
                    if e.message.include?("invalid byte sequence") || e.message.include?("encoding")
         
     | 
| 
      
 21 
     | 
    
         
            +
                      raise TomlRB::ParseError.new("Encoding error: #{e.message}")
         
     | 
| 
      
 22 
     | 
    
         
            +
                    else
         
     | 
| 
      
 23 
     | 
    
         
            +
                      raise
         
     | 
| 
      
 24 
     | 
    
         
            +
                    end
         
     | 
| 
       17 
25 
     | 
    
         
             
                  end
         
     | 
| 
       18 
26 
     | 
    
         
             
                end
         
     | 
| 
       19 
27 
     | 
    
         | 
    
        data/lib/toml-rb/table.rb
    CHANGED
    
    | 
         @@ -8,9 +8,16 @@ module TomlRB 
     | 
|
| 
       8 
8 
     | 
    
         
             
                  ensure_key_not_defined(visited_keys)
         
     | 
| 
       9 
9 
     | 
    
         
             
                  current = hash
         
     | 
| 
       10 
10 
     | 
    
         
             
                  keys = symbolize_keys ? @dotted_keys.map(&:to_sym) : @dotted_keys
         
     | 
| 
       11 
     | 
    
         
            -
                  keys. 
     | 
| 
      
 11 
     | 
    
         
            +
                  keys.each_with_index do |key, index|
         
     | 
| 
       12 
12 
     | 
    
         
             
                    current[key] = {} unless current.key?(key)
         
     | 
| 
       13 
13 
     | 
    
         
             
                    element = current[key]
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                    # If this is the final key and it's already an array (from [[key]]), that's invalid
         
     | 
| 
      
 16 
     | 
    
         
            +
                    is_final_key = (index == keys.length - 1)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    if is_final_key && element.is_a?(Array)
         
     | 
| 
      
 18 
     | 
    
         
            +
                      fail ValueOverwriteError.new(key)
         
     | 
| 
      
 19 
     | 
    
         
            +
                    end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
       14 
21 
     | 
    
         
             
                    current = element.is_a?(Array) ? element.last : element
         
     | 
| 
       15 
22 
     | 
    
         
             
                    # check that key has not been defined before as a scalar value
         
     | 
| 
       16 
23 
     | 
    
         
             
                    fail ValueOverwriteError.new(key) unless current.is_a?(Hash)
         
     | 
    
        data/lib/toml-rb/version.rb
    CHANGED
    
    
    
        data/lib/toml-rb.rb
    CHANGED
    
    | 
         @@ -14,7 +14,6 @@ require_relative "toml-rb/dumper" 
     | 
|
| 
       14 
14 
     | 
    
         
             
            File.dirname(File.expand_path(__FILE__)).tap do |root|
         
     | 
| 
       15 
15 
     | 
    
         
             
              Citrus.load "#{root}/toml-rb/grammars/helper.citrus"
         
     | 
| 
       16 
16 
     | 
    
         
             
              Citrus.load "#{root}/toml-rb/grammars/primitive.citrus"
         
     | 
| 
       17 
     | 
    
         
            -
              Citrus.load "#{root}/toml-rb/grammars/array.citrus"
         
     | 
| 
       18 
17 
     | 
    
         
             
              Citrus.load "#{root}/toml-rb/grammars/document.citrus"
         
     | 
| 
       19 
18 
     | 
    
         
             
            end
         
     | 
| 
       20 
19 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,15 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: toml-rb
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version:  
     | 
| 
      
 4 
     | 
    
         
            +
              version: 4.1.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Emiliano Mancuso
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Lucas Tolchinsky
         
     | 
| 
       9 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 9 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2025-10-29 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: citrus
         
     | 
| 
         @@ -102,7 +102,6 @@ files: 
     | 
|
| 
       102 
102 
     | 
    
         
             
            - lib/toml-rb/datetime.rb
         
     | 
| 
       103 
103 
     | 
    
         
             
            - lib/toml-rb/dumper.rb
         
     | 
| 
       104 
104 
     | 
    
         
             
            - lib/toml-rb/errors.rb
         
     | 
| 
       105 
     | 
    
         
            -
            - lib/toml-rb/grammars/array.citrus
         
     | 
| 
       106 
105 
     | 
    
         
             
            - lib/toml-rb/grammars/document.citrus
         
     | 
| 
       107 
106 
     | 
    
         
             
            - lib/toml-rb/grammars/helper.citrus
         
     | 
| 
       108 
107 
     | 
    
         
             
            - lib/toml-rb/grammars/primitive.citrus
         
     | 
| 
         @@ -117,7 +116,7 @@ homepage: https://github.com/emancu/toml-rb 
     | 
|
| 
       117 
116 
     | 
    
         
             
            licenses:
         
     | 
| 
       118 
117 
     | 
    
         
             
            - MIT
         
     | 
| 
       119 
118 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       120 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 119 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       121 
120 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       122 
121 
     | 
    
         
             
            require_paths:
         
     | 
| 
       123 
122 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -132,8 +131,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       132 
131 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       133 
132 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       134 
133 
     | 
    
         
             
            requirements: []
         
     | 
| 
       135 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
       136 
     | 
    
         
            -
            signing_key: 
     | 
| 
      
 134 
     | 
    
         
            +
            rubygems_version: 3.1.6
         
     | 
| 
      
 135 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       137 
136 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       138 
137 
     | 
    
         
             
            summary: Toml parser in ruby, for ruby.
         
     | 
| 
       139 
138 
     | 
    
         
             
            test_files: []
         
     | 
| 
         @@ -1,37 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            grammar TomlRB::Arrays
         
     | 
| 
       2 
     | 
    
         
            -
              include TomlRB::Primitive
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
              rule array_comments
         
     | 
| 
       5 
     | 
    
         
            -
                (indent? (comment indent?)*)
         
     | 
| 
       6 
     | 
    
         
            -
              end
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              rule float_array
         
     | 
| 
       9 
     | 
    
         
            -
                (float (indent? "," array_comments float)*) {
         
     | 
| 
       10 
     | 
    
         
            -
                  captures[:float].map(&:value)
         
     | 
| 
       11 
     | 
    
         
            -
                }
         
     | 
| 
       12 
     | 
    
         
            -
              end
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
              rule string_array
         
     | 
| 
       15 
     | 
    
         
            -
                (string (indent? "," array_comments string)*) {
         
     | 
| 
       16 
     | 
    
         
            -
                  captures[:string].map(&:value)
         
     | 
| 
       17 
     | 
    
         
            -
                }
         
     | 
| 
       18 
     | 
    
         
            -
              end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
              rule integer_array
         
     | 
| 
       21 
     | 
    
         
            -
                (integer (indent? "," array_comments integer)*) {
         
     | 
| 
       22 
     | 
    
         
            -
                  captures[:integer].map(&:value)
         
     | 
| 
       23 
     | 
    
         
            -
                }
         
     | 
| 
       24 
     | 
    
         
            -
              end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
              rule datetime_array
         
     | 
| 
       27 
     | 
    
         
            -
                (datetime (indent? "," array_comments datetime)*) {
         
     | 
| 
       28 
     | 
    
         
            -
                  captures[:datetime].map(&:value)
         
     | 
| 
       29 
     | 
    
         
            -
                }
         
     | 
| 
       30 
     | 
    
         
            -
              end
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              rule bool_array
         
     | 
| 
       33 
     | 
    
         
            -
                (bool (indent? "," array_comments bool)*) {
         
     | 
| 
       34 
     | 
    
         
            -
                  captures[:bool].map(&:value)
         
     | 
| 
       35 
     | 
    
         
            -
                }
         
     | 
| 
       36 
     | 
    
         
            -
              end
         
     | 
| 
       37 
     | 
    
         
            -
            end
         
     |