Class: PerfectTOML::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/perfect_toml.rb

Overview

:nodoc:

Defined Under Namespace

Classes: Node

Instance Method Summary collapse

Constructor Details

#initialize(src, version, symbolize_names) ⇒ Parser

Returns a new instance of Parser.



324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
# File 'lib/perfect_toml.rb', line 324

def initialize(src, version, symbolize_names)
  @s = StringScanner.new(src)
  @symbolize_names = symbolize_names
  @root_node = @topic_node = Node.new(1, nil)

  @re_escape_char = version == :TOML_1_0_0 ?
    /([btnmfr"\\])|u([0-9A-Fa-f]{4})|U([0-9A-Fa-f]{8})/ :
    /([btnmfre"\\])|x([0-9A-Fa-f]{2})|u([0-9A-Fa-f]{4})|U([0-9A-Fa-f]{8})/
  @re_multiline_basic_string = version == :TOML_1_0_0 ?
    /[^\x00-\x08\x0b\x0c\x0e-\x1f\x7f"\\]*/ :
    /([^\x00-\x08\x0b-\x1f\x7f"\\]|\r\n)*/
  @re_multiline_literal_string = version == :TOML_1_0_0 ?
    /[^\x00-\x08\x0b\x0c\x0e-\x1f\x7f']*/ :
    /([^\x00-\x08\x0b-\x1f\x7f']|\r\n)*/
  @omitted_seconds = version != :TOML_1_0_0 ? "0" : nil
  @allow_newline_in_inline_table = version != :TOML_1_0_0
end

Instance Method Details

#parseObject



342
343
344
# File 'lib/perfect_toml.rb', line 342

def parse
  parse_toml
end