Class: Intelligent::Prompt
- Inherits:
-
Object
- Object
- Intelligent::Prompt
- Defined in:
- lib/intelligent/prompt.rb
Instance Attribute Summary collapse
-
#content ⇒ Object
readonly
Returns the value of attribute content.
Instance Method Summary collapse
- #extract_variables ⇒ Object
-
#initialize(content) ⇒ Prompt
constructor
A new instance of Prompt.
- #process_content(input_variables = {}) ⇒ Object
- #validate_variables!(input_variables) ⇒ Object
Constructor Details
#initialize(content) ⇒ Prompt
Returns a new instance of Prompt.
5 6 7 |
# File 'lib/intelligent/prompt.rb', line 5 def initialize(content) @content = content end |
Instance Attribute Details
#content ⇒ Object (readonly)
Returns the value of attribute content.
3 4 5 |
# File 'lib/intelligent/prompt.rb', line 3 def content @content end |
Instance Method Details
#extract_variables ⇒ Object
10 11 12 |
# File 'lib/intelligent/prompt.rb', line 10 def extract_variables @content.scan(/\{\{(\w+)\}\}/).flatten.uniq end |
#process_content(input_variables = {}) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/intelligent/prompt.rb', line 14 def process_content(input_variables = {}) processed_content = content.dup input_variables.each do |key, value| processed_content.gsub!("{{#{key}}}", value.to_s) end processed_content end |
#validate_variables!(input_variables) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/intelligent/prompt.rb', line 22 def validate_variables!(input_variables) missing_vars = extract_variables - input_variables.keys if missing_vars.any? raise "Missing required variables: #{missing_vars.join(', ')}" end end |