Class: Please::Request
- Inherits:
-
Struct
- Object
- Struct
- Please::Request
- Defined in:
- lib/please/request.rb
Instance Attribute Summary collapse
-
#codex_service ⇒ Object
Returns the value of attribute codex_service.
-
#context ⇒ Object
Returns the value of attribute context.
-
#instruction ⇒ Object
Returns the value of attribute instruction.
Instance Method Summary collapse
Instance Attribute Details
#codex_service ⇒ Object
Returns the value of attribute codex_service
4 5 6 |
# File 'lib/please/request.rb', line 4 def codex_service @codex_service end |
#context ⇒ Object
Returns the value of attribute context
4 5 6 |
# File 'lib/please/request.rb', line 4 def context @context end |
#instruction ⇒ Object
Returns the value of attribute instruction
4 5 6 |
# File 'lib/please/request.rb', line 4 def instruction @instruction end |
Instance Method Details
#prompt ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/please/request.rb', line 18 def prompt <<~PROMPT.chomp Write a one-line bash command for each of the following tasks. #{context} # #{instruction.gsub(/\n/, " ")} $ PROMPT end |
#send ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/please/request.rb', line 5 def send codex_service.completion(prompt) .strip # Collapse multiline commands into one line .gsub(/\s*\\\n\s*/, ' ') # Remove subsequent lines that do not contain commands .gsub(/\n[^$][^\n]*$/, '') # Collapse multiple commands into one line .gsub(/\n\$ /, '; ') # Remove multiple consecutive spaces .gsub(/\s+/, ' ') end |