KrikriJinja::Context
Constructors
Instance methods
A fully-qualified collection name (ansible.builtin.ternary,
namespace.collection.name) resolves to the filter or test registered
under its trailing segment, the way Ansible resolves
| ansible.builtin.ternary(...) to ternary. A single dot is not a
collection name (x | first.to_s stays unknown, as in jinja).
Opaque caller-supplied context handed to registered filters, tests, and functions, for hosts that need controller-side state (variable scope, role paths, plugin runners) that the engine cannot know about.
Opaque caller-supplied context handed to registered filters, tests, and functions, for hosts that need controller-side state (variable scope, role paths, plugin runners) that the engine cannot know about.
An undefined for an attribute or key name that obj lacks, with Jinja's own message ("'dict object' has no attribute 'x'").
Lazy variable source consulted after every scope and before globals.
Shared with the owning Engine (see Engine#rwlock): @globals/@filters/ @tests below are the same Hash instances the engine mutates via register_*, so reads here must take the same lock the engine's writes take, not a private one.
The engine's shared Undefined instance carries no name; a lookup miss
hands out a copy tagged with the variable that was missing so error
messages can name it the way real Jinja2 does. Hintless misses for the
same name are memoized: repeated misses (optional vars, defined
checks, loop.parent) would otherwise allocate on every lookup.