struct HCL::Any

Defined in:

hcl/any.cr

Constructors

Instance Method Summary

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

def self.new(hsh : Hash(String, RawType)) #

def self.new(array : Array(RawType)) #

def self.new(pull : JSON::PullParser) #

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


def self.new(raw) #

Instance Method Detail

def ==(other : Any) #

Returns true if both self and other's raw object are equal.


def ==(other) #

Returns true if the raw object is equal to other.


def [](index : Int) : HCL::Any #

Assumes the underlying value is an Array and returns the element at the given index. Raises if the underlying value is not an Array.


def [](key : String) : HCL::Any #

Assumes the underlying value is a Hash and returns the element with the given key. Raises if the underlying value is not a Hash.


def []?(index : Int) : HCL::Any? #

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.


def []?(key : String) : HCL::Any? #

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.


def as_a : Array(Any) #

Checks that the underlying value is Array, and returns its value. Raises otherwise.


def as_a? : Array(Any)? #

Checks that the underlying value is Array, and returns its value. Returns nil otherwise.


def as_bool : Bool #

Checks that the underlying value is Bool, and returns its value. Raises otherwise.


def as_bool? : Bool? #

Checks that the underlying value is Bool, and returns its value. Returns nil otherwise.


def as_f : Float64 #

Checks that the underlying value is Float, and returns its value as an Float64. Raises otherwise.


def as_f? : Float64? #

Checks that the underlying value is Float, and returns its value as an Float64. Returns nil otherwise.


def as_h : Hash(String, Any) #

Checks that the underlying value is Hash, and returns its value. Raises otherwise.


def as_h? : Hash(String, Any)? #

Checks that the underlying value is Hash, and returns its value. Returns nil otherwise.


def as_i : Int64 #

Checks that the underlying value is Int, and returns its value as an Int64. Raises otherwise.


def as_i? : Int64? #

Checks that the underlying value is Int, and returns its value as an Int64. Returns nil otherwise.


def as_nil : Nil #

Checks that the underlying value is Nil, and returns nil. Raises otherwise.


def as_s : String #

Checks that the underlying value is String, and returns its value. Raises otherwise.


def as_s? : String? #

Checks that the underlying value is String, and returns its value. Returns nil otherwise.


def clone #

Returns a new HCL::Any instance with the #raw value #cloneed.


def dig(key : String | Int, *subkeys) #

Traverses the depth of a structure and returns the value, otherwise raises.


def dig?(key : String | Int, *subkeys) #

Traverses the depth of a structure and returns the value. Returns nil if not found.


def dup #

Returns a new HCL::Any instance with the #raw value #duped.


def hash(hasher) #

See Object#hash(hasher)


def raw : Array(HCL::Any) | Bool | Float64 | Hash(String, HCL::Any) | Int64 | String | Nil #

def size : Int #

Assumes the underlying value is an Array or Hash and returns its size. Raises if the underlying value is not an Array or Hash.


def to_hcl(builder : HCL::Builder) #

def unwrap : RawType #