prompter-ruby
Prompt template engine for Ruby. Render dynamic prompts with variables, conditionals, and loops.
Installation
gem "prompter-ruby"Usage
require "prompter_ruby"
# Basic variable interpolation
template = PrompterRuby::Template.new("Hello, {{name}}!")
template.render(name: "World") # => "Hello, World!"
# Conditionals and loops
source = <<~TMPL
You are a {{role}} assistant.
{% if context %}Use this context: {{context}}{% endif %}
{% for item in items %}
- {{item}}
{% endfor %}
TMPL
template = PrompterRuby::Template.new(source)
template.render(role: "helpful", items: ["A", "B", "C"])
# Strict mode (raise on undefined variables)
template.render({ name: "World" }, strict: true)
# Validation
template.valid? # => true/false
template.validate! # raises ParseError if invalidFeatures
-
{{variable}}interpolation with nested key access -
{% if %}/{% else %}/{% endif %}conditionals -
{% for x in items %}/{% endfor %}loops - Strict mode raises
UndefinedVariableErrorfor missing variables - ParseError with line numbers for unclosed blocks
- Template validation (
valid?,validate!) - Whitespace trimming for tag-only lines
License
MIT