class YAML::PullParser
Overview
A pull parser allows parsing a YAML document by events.
When creating an instance, the parser is positioned in
the first event. To get the event kind invoke #kind.
If the event is a scalar you can invoke #value to get
its string value. Other methods like #tag, #anchor
and #scalar_style let you inspect other information from events.
Invoking #read_next reads the next event.
Defined in:
yaml/pull_parser.crConstructors
- .new(content : String | IO)
 - 
        .new(content, &block)
        
          
Creates a parser, yields it to the block, and closes the parser at the end of it.
 
Instance Method Summary
- 
        #anchor
        
          
Returns the anchor associated to the current event, or
nilif there's no anchor. - #close
 - #end_column
 - #end_line
 - 
        #expect_kind(kind : EventKind)
        
          
Raises if the current kind is not the expected one.
 - #finalize
 - 
        #kind : EventKind
        
          
The current event kind.
 - #location
 - 
        #mapping_style : MappingStyle
        
          
Returns the mapping style, assuming the pull parser is located at a mapping begin event.
 - #raise(msg : String, line_number = self.start_line, column_number = self.start_column, context_info = nil)
 - 
        #read(expected_kind : EventKind) : EventKind
        
          
Reads an expected event kind.
 - 
        #read_alias
        
          
Reads an alias event, returning its anchor.
 - 
        #read_document(&block)
        
          
Reads a "document start" event, yields to the block, and then reads a "document end" event.
 - 
        #read_document_end
        
          
Reads a "document end" event.
 - 
        #read_document_start
        
          
Reads a "document start" event.
 - 
        #read_mapping(&block)
        
          
Reads a "mapping start" event, yields to the block, and then reads a "mapping end" event.
 - 
        #read_mapping_end
        
          
Reads a "mapping end" event.
 - 
        #read_mapping_start
        
          
Reads a "mapping start" event.
 - 
        #read_next : EventKind
        
          
Reads the next event.
 - 
        #read_scalar
        
          
Reads a scalar, returning its value.
 - 
        #read_sequence(&block)
        
          
Reads a "sequence start" event, yields to the block, and then reads a "sequence end" event.
 - 
        #read_sequence_end
        
          
Reads a "sequence end" event.
 - 
        #read_sequence_start
        
          
Reads a "sequence start" event.
 - 
        #read_stream(&block)
        
          
Reads a "stream start" event, yields to the block, and then reads a "stream end" event.
 - 
        #read_stream_end
        
          
Reads a "stream end" event.
 - 
        #read_stream_start
        
          
Reads a "stream start" event.
 - 
        #scalar_style : ScalarStyle
        
          
Returns the scalar style, assuming the pull parser is located at a scalar event.
 - 
        #sequence_style : SequenceStyle
        
          
Returns the sequence style, assuming the pull parser is located at a sequence begin event.
 - #skip
 - #start_column
 - #start_line
 - 
        #tag : String?
        
          
Returns the tag associated to the current event, or
nilif there's no tag. - 
        #value : String
        
          
Returns the scalar value, assuming the pull parser is located at a scalar.
 
Instance methods inherited from class Reference
  
  
    
      ==(other : self)==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference)
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
  
  
    
      new
    new
    
  
    
  
    
  Instance methods inherited from class Object
  
  
    
      !=(other)
    !=, 
    
  
    
      !~(other)
    !~, 
    
  
    
      ==(other)
    ==, 
    
  
    
      ===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, class class, dup dup, hash(hasher)
hash hash, inspect(io : IO)
inspect inspect, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json to_json, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ") to_pretty_json, to_s
to_s(io : IO) to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&block) try, unsafe_as(type : T.class) forall T unsafe_as
Constructor methods inherited from class Object
  
  
    
      from_json(string_or_io, root : String) : selffrom_json(string_or_io) : self from_json, from_yaml(string_or_io : String | IO) : self from_yaml
Constructor Detail
Creates a parser, yields it to the block, and closes the parser at the end of it.
Instance Method Detail
Raises if the current kind is not the expected one.
Returns the mapping style, assuming the pull parser is located at a mapping begin event. Raises otherwise.
Reads a "document start" event, yields to the block, and then reads a "document end" event.
Reads a "mapping start" event, yields to the block, and then reads a "mapping end" event.
Reads a "sequence start" event, yields to the block, and then reads a "sequence end" event.
Reads a "stream start" event, yields to the block, and then reads a "stream end" event.
Returns the scalar style, assuming the pull parser is located at a scalar event. Raises otherwise.
Returns the sequence style, assuming the pull parser is located at a sequence begin event. Raises otherwise.
Returns the tag associated to the current event, or nil
if there's no tag.
Returns the scalar value, assuming the pull parser is located at a scalar. Raises otherwise.