struct YAML::Any
Overview
YAML::Any is a convenient wrapper around all possible YAML core types
(YAML::Any::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.
Defined in:
yaml/any.crConstructors
Instance Method Summary
- 
        #==(other)
        
          Returns trueif the raw object is equal to other.
- 
        #==(other : YAML::Any)
        
          Returns trueif bothselfand other's raw object are equal.
- #[](index_or_key) : YAML::Any
- #[]?(index_or_key) : YAML::Any?
- 
        #as_a : Array(Any)
        
          Checks that the underlying value is Array, and returns its value.
- 
        #as_a? : Array(Any)?
        
          Checks that the underlying value is Array, and returns its value.
- 
        #as_bool : Bool
        
          Checks that the underlying value is Bool, and returns its value.
- 
        #as_bool? : Bool?
        
          Checks that the underlying value is Bool, and returns its value.
- 
        #as_bytes : Bytes
        
          Checks that the underlying value is Bytes, and returns its value.
- 
        #as_bytes? : Bytes?
        
          Checks that the underlying value is Bytes, and returns its value.
- 
        #as_f : Float64
        
          Checks that the underlying value is Float64, and returns its value.
- #as_f32 : Float32
- #as_f32? : Float32?
- 
        #as_f? : Float64?
        
          Checks that the underlying value is Float64, and returns its value.
- 
        #as_h : Hash(Any, Any)
        
          Checks that the underlying value is Hash, and returns its value.
- 
        #as_h? : Hash(Any, Any)?
        
          Checks that the underlying value is Hash, and returns its value.
- #as_i : Int32
- 
        #as_i64 : Int64
        
          Checks that the underlying value is Int64, and returns its value.
- 
        #as_i64? : Int64?
        
          Checks that the underlying value is Int64, and returns its value.
- #as_i? : Int32?
- 
        #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.
- 
        #as_s? : String?
        
          Checks that the underlying value is String, and returns its value.
- 
        #as_time : Time
        
          Checks that the underlying value is Time, and returns its value.
- 
        #as_time? : Time?
        
          Checks that the underlying value is Time, and returns its value.
- #clone
- 
        #dig(index_or_key, *subkeys)
        
          Traverses the depth of a structure and returns the value, otherwise raises. 
- 
        #dig?(index_or_key, *subkeys)
        
          Traverses the depth of a structure and returns the value. 
- #dup
- #hash(hasher)
- 
        #raw : Type
        
          Returns the raw underlying value, a Type.
- #size : Int
- #to_json(builder : JSON::Builder)
- 
        #to_json_object_key
        
          Forwards #to_json_object_keyto#rawif it responds to that method, raisesJSON::Errorotherwise.
Instance methods inherited from struct Struct
  
  
    
      ==(other) : Bool
    ==, 
    
  
    
      hash(hasher)
    hash, 
    
  
    
      inspect(io : IO) : Nil
    inspect, 
    
  
    
      pretty_print(pp) : Nil
    pretty_print, 
    
  
    
      to_s(io : IO) : Nil
    to_s
    
  
    
    
  
    
  Instance methods inherited from struct Value
  
  
    
      ==(other : JSON::Any)==(other : YAML::Any)
==(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(hasher)
hash hash, inspect(io : IO) : Nil
inspect : String 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 : String
to_s(io : IO) : Nil 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
Instance Method Detail
Returns true if both self and other's raw object are equal.
Assumes the underlying value is an Array or Hash and returns the element
at the given index_or_key, or nil if out of bounds or the key is missing.
Checks that the underlying value is Array, and returns its value.
Raises otherwise.
Checks that the underlying value is Array, and returns its value.
Returns nil otherwise.
Checks that the underlying value is Bool, and returns its value.
Raises otherwise.
Checks that the underlying value is Bool, and returns its value.
Returns nil otherwise.
Checks that the underlying value is Bytes, and returns its value.
Raises otherwise.
Checks that the underlying value is Bytes, and returns its value.
Returns nil otherwise.
Checks that the underlying value is Float64, and returns its value.
Raises otherwise.
Checks that the underlying value is Float, and returns its value as an Float32.
Returns nil otherwise.
Checks that the underlying value is Float64, and returns its value.
Returns nil otherwise.
Checks that the underlying value is Hash, and returns its value.
Raises otherwise.
Checks that the underlying value is Hash, and returns its value.
Returns nil otherwise.
Checks that the underlying value is Int64, and returns its value.
Raises otherwise.
Checks that the underlying value is Int64, and returns its value.
Returns nil 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.
Checks that the underlying value is String, and returns its value.
Returns nil otherwise.
Checks that the underlying value is Time, and returns its value.
Raises otherwise.
Checks that the underlying value is Time, and returns its value.
Returns nil otherwise.
Traverses the depth of a structure and returns the value, otherwise raises.
Traverses the depth of a structure and returns the value.
Returns nil if not found.
Forwards #to_json_object_key to #raw if it responds to that method,
raises JSON::Error otherwise.