class
   YAML::Builder
 
  
  Overview
A YAML builder generates valid YAML.
A YAML::Error is raised if attempting to generate
an invalid YAML (for example, if invoking #end_sequence
without a matching #start_sequence)
require "yaml"
string = YAML.build do |yaml|
  yaml.mapping do
    yaml.scalar "foo"
    yaml.sequence do
      yaml.scalar 1
      yaml.scalar 2
    end
    yaml.scalar "bar"
    yaml.mapping do
      yaml.scalar "baz"
      yaml.scalar "qux"
    end
  end
end
string # => "---\nfoo:\n- 1\n- 2\nbar:\n  baz: qux\n"Defined in:
yaml/builder.crConstructors
- 
        .new(io : IO)
        
          Creates a YAML::Builderthat will write to the givenIO.
Class Method Summary
- 
        .build(io : IO, & : self -> ) : Nil
        
          Creates a YAML::Builderthat writes to io and yields it to the block.
Instance Method Summary
- 
        #alias(anchor : String) : Nil
        
          Emits an alias to the given anchor. 
- 
        #close : Nil
        
          Closes the builder, freeing up resources. 
- 
        #document(&)
        
          Starts a document, invokes the block, and then ends it. 
- 
        #end_document
        
          Ends a document. 
- 
        #end_mapping : Nil
        
          Ends a mapping. 
- 
        #end_sequence : Nil
        
          Ends a sequence. 
- 
        #end_stream : Nil
        
          Ends a YAML stream. 
- #finalize
- 
        #flush
        
          Flushes any pending data to the underlying IO.
- 
        #mapping(anchor : String | Nil = nil, tag : String | Nil = nil, style : YAML::MappingStyle = YAML::MappingStyle::ANY, &)
        
          Starts a mapping, invokes the block, and then ends it. 
- 
        #max_nesting : Int32
        
          By default the maximum nesting of sequences/mappings is 99. 
- 
        #max_nesting=(max_nesting : Int32)
        
          By default the maximum nesting of sequences/mappings is 99. 
- 
        #merge(anchor : String) : Nil
        
          Emits the scalar "<<"followed by an alias to the given anchor.
- 
        #scalar(value, anchor : String | Nil = nil, tag : String | Nil = nil, style : YAML::ScalarStyle = YAML::ScalarStyle::ANY)
        
          Emits a scalar value. 
- 
        #sequence(anchor : String | Nil = nil, tag : String | Nil = nil, style : YAML::SequenceStyle = YAML::SequenceStyle::ANY, &)
        
          Starts a sequence, invokes the block, and the ends it. 
- 
        #start_document
        
          Starts a document. 
- 
        #start_mapping(anchor : String | Nil = nil, tag : String | Nil = nil, style : YAML::MappingStyle = YAML::MappingStyle::ANY) : Nil
        
          Starts a mapping. 
- 
        #start_sequence(anchor : String | Nil = nil, tag : String | Nil = nil, style : YAML::SequenceStyle = YAML::SequenceStyle::ANY) : Nil
        
          Starts a sequence. 
- 
        #start_stream
        
          Starts a YAML stream. 
- 
        #stream(&)
        
          Starts a YAML stream, invokes the block, and ends it. 
Instance methods inherited from class Reference
  
  
    
      ==(other : self)==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, initialize initialize, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference) : Bool
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
  
  
    
      new
    new, 
    
  
    
      unsafe_construct(address : Pointer, *args, **opts) : self
    unsafe_construct
    
  
      
  Class methods inherited from class Reference
  
  
    
      pre_initialize(address : Pointer)
    pre_initialize
    
  
      
    
      
  Instance methods inherited from class Object
  
  
    
      ! : Bool
    !, 
    
  
    
      !=(other)
    !=, 
    
  
    
      !~(other)
    !~, 
    
  
    
      ==(other)
    ==, 
    
  
    
      ===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil!(message)
not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
  
  
    
      from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml
Macros inherited from class Object
  
  
    
      class_getter(*names, &block)
    class_getter, 
    
  
    
      class_getter!(*names)
    class_getter!, 
    
  
    
      class_getter?(*names, &block)
    class_getter?, 
    
  
    
      class_property(*names, &block)
    class_property, 
    
  
    
      class_property!(*names)
    class_property!, 
    
  
    
      class_property?(*names, &block)
    class_property?, 
    
  
    
      class_setter(*names)
    class_setter, 
    
  
    
      def_clone
    def_clone, 
    
  
    
      def_equals(*fields)
    def_equals, 
    
  
    
      def_equals_and_hash(*fields)
    def_equals_and_hash, 
    
  
    
      def_hash(*fields)
    def_hash, 
    
  
    
      delegate(*methods, to object)
    delegate, 
    
  
    
      forward_missing_to(delegate)
    forward_missing_to, 
    
  
    
      getter(*names, &block)
    getter, 
    
  
    
      getter!(*names)
    getter!, 
    
  
    
      getter?(*names, &block)
    getter?, 
    
  
    
      property(*names, &block)
    property, 
    
  
    
      property!(*names)
    property!, 
    
  
    
      property?(*names, &block)
    property?, 
    
  
    
      setter(*names)
    setter
    
  
    
  Constructor Detail
Class Method Detail
Creates a YAML::Builder that writes to io and yields it to the block.
After returning from the block the builder is closed.
Instance Method Detail
Emits an alias to the given anchor.
require "yaml"
yaml = YAML.build do |builder|
  builder.mapping do
    builder.scalar "key"
    builder.alias "example"
  end
end
yaml # => "---\nkey: *example\n"Starts a mapping, invokes the block, and then ends it.
By default the maximum nesting of sequences/mappings is 99. Nesting more than this will result in a YAML::Error. Changing the value of this property allows more/less nesting.
By default the maximum nesting of sequences/mappings is 99. Nesting more than this will result in a YAML::Error. Changing the value of this property allows more/less nesting.
Emits the scalar "<<" followed by an alias to the given anchor.
See YAML Merge.
require "yaml"
yaml = YAML.build do |builder|
  builder.mapping do
    builder.merge "development"
  end
end
yaml # => "---\n<<: *development\n"Emits a scalar value.
Starts a sequence, invokes the block, and the ends it.
Starts a mapping.