struct YAML::Any
- YAML::Any
- Struct
- Value
- Object
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 <<-YAML
---
foo:
bar:
baz:
- qux
- fox
YAML
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
. There are also nil-able variants (#as_i?
, #as_s?
, ...),
which return nil
when the underlying value type won't match.
Included Modules
Defined in:
yaml.crInstance Method Summary
-
#[](path : Enumerable) : T::Any
Returns the value corresponding to the path.
-
#[]=(path : Enumerable(String | Int32 | Int64), value) : YAML::Any
Sets the value of the element corresponding to the path.
-
#[]=(key : Any, value : Any) : YAML::Any
Sets the value of key to the given value.
-
#[]?(path : Enumerable) : T::Any | Nil
Returns the value corresponding to the path.
-
#delete(path : Enumerable(String | Int32 | Int64)) : YAML::Any
Deletes the element corresponding to the path.
-
#delete(key : Any) : YAML::Any | Nil
Deletes the key-value pair.
Instance methods inherited from module Dynany(YAML)
[]=(key : Int, value : T::Any)[]=(path : Enumerable, value : T::Any) : T::Any []=, delete(index : Int) : T::Any | Nil
delete(key : String) : T::Any | Nil
delete(path : Enumerable) : T::Any delete
Instance Method Detail
Returns the value corresponding to the path. If not found, raise.
Sets the value of the element corresponding to the path.
Sets the value of key to the given value.
Returns the value corresponding to the path. If not found, returns nil.
Deletes the element corresponding to the path.