struct YAML::Any
Overview
YAML::Any is a convenient wrapper around all possible YAML types (YAML::Type)
and can be used for traversing dynamic or unknown YAML structures.
require "yaml"
data = YAML.parse <<-END
         ---
         foo:
           bar:
             baz:
               - qux
               - fox
         END
data["foo"]["bar"]["baz"][0].as_s # => "qux"
data["foo"]["bar"]["baz"].as_a    # => ["qux", "fox"]Note that methods used to traverse a YAML structure, #[], #[]? and #each,
always return a YAML::Any to allow further traversal. To convert them to String,
Array, etc., use the as_ methods, such as #as_s, #as_a, which perform
a type check against the raw underlying value. This means that invoking #as_s
when the underlying value is not a String will raise: the value won't automatically
be converted (parsed) to a String.
Included Modules
Defined in:
yaml/any.crClass Method Summary
- 
        .new(pull : YAML::PullParser)
        
          Reads a YAML::Anyvalue from the given pull parser.
- 
        .new(raw : YAML::Type)
        
          Creates a YAML::Anythat wraps the givenYAML::Type.
Instance Method Summary
- 
        #==(other : YAML::Any)
        
          Returns trueif bothselfand other's raw object are equal.
- 
        #==(other)
        
          Returns trueif the raw object is equal to other.
- 
        #[](index : Int) : YAML::Any
        
          Assumes the underlying value is an Arrayand returns the element at the given index.
- 
        #[](key : String) : YAML::Any
        
          Assumes the underlying value is a Hashand returns the element with the given key.
- 
        #[]?(index : Int) : YAML::Any?
        
          Assumes the underlying value is an Arrayand returns the element at the given index, ornilif out of bounds.
- 
        #[]?(key : String) : YAML::Any?
        
          Assumes the underlying value is a Hashand returns the element with the given key, ornilif the key is not present.
- 
        #as_a : Array(Type)
        
          Checks that the underlying value is Array, and returns its value.
- 
        #as_h : Hash(Type, Type)
        
          Checks that the underlying value is Hash, and returns its value.
- 
        #as_nil : Nil
        
          Checks that the underlying value is Nil, and returnsnil.
- 
        #as_s : String
        
          Checks that the underlying value is String, and returns its value.
- #each(&block)
- 
        #raw : YAML::Type
        
          Returns the raw underlying value, a YAML::Type.
- #size : Int
Instance methods inherited from module Enumerable(YAML::Any)
  
  
    
      all?(&block)all? all?, any?(&block)
any? any?, chunks(&block : T -> U) forall U chunks, compact_map(&block) compact_map, count(&block)
count(item) count, cycle(n, &block)
cycle(&block) cycle, each(&block : T -> _) each, each_cons(count : Int, reuse = false, &block) each_cons, each_slice(count : Int, reuse = false, &block) each_slice, each_with_index(offset = 0, &block) each_with_index, each_with_object(obj, &block) each_with_object, find(if_none = nil, &block) find, first(count : Int)
first first, first? first?, flat_map(&block : T -> Array(U) | Iterator(U) | U) forall U flat_map, grep(pattern) grep, group_by(&block : T -> U) forall U group_by, in_groups_of(size : Int, filled_up_with : U = nil) forall U
in_groups_of(size : Int, filled_up_with : U = nil, reuse = false, &block) forall U in_groups_of, includes?(obj) includes?, index(&block)
index(obj) index, index_by(&block : T -> U) forall U index_by, join(separator, io)
join(separator = "")
join(separator, io, &block)
join(separator = "", &block) join, map(&block : T -> U) forall U map, map_with_index(&block : T, Int32 -> U) forall U map_with_index, max max, max? max?, max_by(&block : T -> U) forall U max_by, max_by?(&block : T -> U) forall U max_by?, max_of(&block : T -> U) forall U max_of, max_of?(&block : T -> U) forall U max_of?, min min, min? min?, min_by(&block : T -> U) forall U min_by, min_by?(&block : T -> U) forall U min_by?, min_of(&block : T -> U) forall U min_of, min_of?(&block : T -> U) forall U min_of?, minmax minmax, minmax? minmax?, minmax_by(&block : T -> U) forall U minmax_by, minmax_by?(&block : T -> U) forall U minmax_by?, minmax_of(&block : T -> U) forall U minmax_of, minmax_of?(&block : T -> U) forall U minmax_of?, none?(&block)
none? none?, one?(&block) one?, partition(&block) partition, product(&block)
product(initial : Number, &block)
product
product(initial : Number) product, reduce(&block)
reduce(memo, &block) reduce, reject(&block : T -> ) reject, select(&block : T -> ) select, size size, skip(count : Int) skip, skip_while(&block) skip_while, sum(initial)
sum
sum(initial, &block)
sum(&block) sum, take_while(&block) take_while, to_a to_a, to_h to_h, to_set to_set
Instance methods inherited from struct Struct
  
  
    
      ==(other : self) : Bool
    ==, 
    
  
    
      hash : Int32
    hash, 
    
  
    
      inspect(io : IO) : Nil
    inspect, 
    
  
    
      pretty_print(pp) : Nil
    pretty_print, 
    
  
    
      to_s(io)
    to_s
    
  
    
  
    
  Instance methods inherited from struct Value
  
  
    
      ==(other)
    ==, 
    
  
    
      dup
    dup
    
  
    
  
    
  Instance methods inherited from class Object
  
  
    
      !=(other)
    !=, 
    
  
    
      !~(other)
    !~, 
    
  
    
      ==(other)
    ==, 
    
  
    
      ===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, class class, dup dup, 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
Class 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) : self from_yaml
Class Method Detail
Instance Method Detail
Returns true if both self and other's raw object are equal.
Assumes the underlying value is an Array and returns the element
at the given index.
Raises if the underlying value is not an Array.
Assumes the underlying value is a Hash and returns the element
with the given key.
Raises if the underlying value is not a Hash.
Assumes the underlying value is an Array and returns the element
at the given index, or nil if out of bounds.
Raises if the underlying value is not an Array.
Assumes the underlying value is a Hash and returns the element
with the given key, or nil if the key is not present.
Raises if the underlying value is not a Hash.
Checks that the underlying value is Array, and returns its value.
Raises otherwise.
Checks that the underlying value is Hash, and returns its value.
Raises otherwise.
Checks that the underlying value is Nil, and returns nil.
Raises otherwise.
Checks that the underlying value is String, and returns its value.
Raises otherwise.