class Template::Interpolation

Defined in:

template/interpolation.cr

Constant Summary

VARIABLE_PATTERN = /\$\$|\$\{([a-zA-Z_][a-zA-Z0-9_]*)\}/

Instance Method Summary

Instance Method Detail

def expand(variables : Hash(String, String)) : self #

Expands variable cross-references using topological sort. Raises Craph::CycleError if any circular references are detected.


[View source]
def interpolate(template : String) : String #

Replaces ${VAR} references in template with their values. Undefined variables are left as-is; $$ is escaped to a single $.


[View source]
def interpolate_all(templates : Array(String)) : Array(String) #

Interpolates every string in templates. Returns a new array.


[View source]
def variables : Hash(String, String) #

[View source]