struct
HCL::Any
Defined in:
hcl/any.crConstructors
- .new(hsh : Hash(String, RawType))
- .new(array : Array(RawType))
-
.new(pull : JSON::PullParser)
Reads a
HCL::Anyvalue from the given pull parser. - .new(raw : Array(HCL::Any) | Bool | Float64 | Hash(String, HCL::Any) | Int64 | String | Nil)
Instance Method Summary
-
#==(other : Any)
Returns
trueif bothselfand other's raw object are equal. -
#==(other)
Returns
trueif the raw object is equal to other. -
#[](index : Int) : HCL::Any
Assumes the underlying value is an
Arrayand returns the element at the given index. -
#[](key : String) : HCL::Any
Assumes the underlying value is a
Hashand returns the element with the given key. -
#[]?(index : Int) : HCL::Any | Nil
Assumes the underlying value is an
Arrayand returns the element at the given index, ornilif out of bounds. -
#[]?(key : String) : HCL::Any | Nil
Assumes the underlying value is a
Hashand returns the element with the given key, ornilif the key is not present. -
#as_a : Array(Any)
Checks that the underlying value is
Array, and returns its value. -
#as_a? : Array(Any) | Nil
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 | Nil
Checks that the underlying value is
Bool, and returns its value. -
#as_f : Float64
Checks that the underlying value is
Float, and returns its value as anFloat64. -
#as_f? : Float64 | Nil
Checks that the underlying value is
Float, and returns its value as anFloat64. -
#as_h : Hash(String, Any)
Checks that the underlying value is
Hash, and returns its value. -
#as_h? : Hash(String, Any) | Nil
Checks that the underlying value is
Hash, and returns its value. -
#as_i : Int64
Checks that the underlying value is
Int, and returns its value as anInt64. -
#as_i? : Int64 | Nil
Checks that the underlying value is
Int, and returns its value as anInt64. -
#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 | Nil
Checks that the underlying value is
String, and returns its value. - #clone
-
#dig(key : String | Int, *subkeys)
Traverses the depth of a structure and returns the value, otherwise raises.
-
#dig?(key : String | Int, *subkeys)
Traverses the depth of a structure and returns the value.
- #dup
-
#hash(hasher)
See
Object#hash(hasher) - #raw : Array(HCL::Any) | Bool | Float64 | Hash(String, HCL::Any) | Int64 | String | Nil
- #size : Int
- #to_hcl(builder : HCL::Builder)
-
#unwrap : RawType
Unwrap
HCL::Anyinto aHCL::Any::RawTypethat can be castedArrayandHashvalues are traversed.
Instance methods inherited from struct Value
==(other : HCL::Any)
==
Instance methods inherited from class Object
===(other : HCL::Any)
===
Class methods inherited from class Object
from_hcl(string_or_io : String | IO, ctx : HCL::ExpressionContext = HCL::ExpressionContext.default_context)
from_hcl
Constructor Detail
Reads a HCL::Any value from the given pull parser.
Based on https://github.com/crystal-lang/crystal/blob/6952aacb37682558d1a976b4ebf1b1456d9f8b84/src/json/any.cr#L23
Instance Method Detail
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 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 Float, and returns its value as an Float64.
Raises otherwise.
Checks that the underlying value is Float, and returns its value as an Float64.
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 Int, and returns its value as an Int64.
Raises otherwise.
Checks that the underlying value is Int, and returns its value as an Int64.
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.
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.
Assumes the underlying value is an Array or Hash and returns its size.
Raises if the underlying value is not an Array or Hash.
Unwrap HCL::Any into a HCL::Any::RawType that can be casted
Array and Hash values are traversed.
NOTE You should prefer the as_* methods instead for getting at raw
values