Class Kwalify::PlainYamlParser
In: kwalify/yaml-parser.rb
Parent: Object

ex.

  str = ARGF.read()
  parser = Kwalify::PlainYamlParser.new(str)
  doc = parser.parse()
  p doc

Methods

Classes and Modules

Class Kwalify::PlainYamlParser::Alias

Public Class methods

[Source]

# File kwalify/yaml-parser.rb, line 34
      def initialize(yaml_str)
         @lines = yaml_str.to_a()
         @line  = nil
         @linenum = 0
         @anchors = {}
         @aliases = {}
      end

Public Instance methods

[Source]

# File kwalify/yaml-parser.rb, line 53
      def has_next?
         return @end_flag != 'EOF'
      end

[Source]

# File kwalify/yaml-parser.rb, line 43
      def parse()
         data = parse_child(0)
         if data == nil && @end_flag == '---'
            data = parse_child(0)
         end
         resolve_aliases(data) unless @aliases.empty?
         return data
      end

[Source]

# File kwalify/yaml-parser.rb, line 58
      def parse_all
         list = []
         while has_next()
            doc = parse()
            list << doc
         end
         return list
      end

Protected Instance methods

[Source]

# File kwalify/yaml-parser.rb, line 87
      def add_to_map(map, key, value, linenum)
         map[key] = value
      end

[Source]

# File kwalify/yaml-parser.rb, line 75
      def add_to_seq(seq, value, linenum)
         seq << value
      end

[Source]

# File kwalify/yaml-parser.rb, line 83
      def create_mapping(linenum=nil)
         return {}
      end

[Source]

# File kwalify/yaml-parser.rb, line 105
      def create_scalar(value, linenum=nil)
         return value
      end

[Source]

# File kwalify/yaml-parser.rb, line 71
      def create_sequence(linenum=nil)
         return []
      end

[Source]

# File kwalify/yaml-parser.rb, line 110
      def current_line
         return @line
      end

[Source]

# File kwalify/yaml-parser.rb, line 114
      def current_linenum
         return @linenum
      end

[Source]

# File kwalify/yaml-parser.rb, line 99
      def merge_map(map, map2, linenum)
         map2.each do |key, val|
            map[key] = value unless map.key?(key)
         end
      end

[Source]

# File kwalify/yaml-parser.rb, line 95
      def set_default(map, value, linenum)
         map.value = value
      end

[Source]

# File kwalify/yaml-parser.rb, line 91
      def set_map_with(map, key, value, linenum)
         map[key] = value
      end

[Source]

# File kwalify/yaml-parser.rb, line 79
      def set_seq_at(seq, i, value, linenum)
         seq[i] = value
      end

[Validate]