Class: PromptObjects::Repositories::DefinitionRepository
- Inherits:
-
BaseRepository
- Object
- BaseRepository
- PromptObjects::Repositories::DefinitionRepository
- Defined in:
- lib/prompt_objects/repositories/definition_repository.rb
Overview
Persists the exact Prompt Object definition used by a run.
Instance Method Summary collapse
Methods inherited from BaseRepository
Constructor Details
This class inherits a constructor from PromptObjects::Repositories::BaseRepository
Instance Method Details
#attach(run_id:, definition:) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/prompt_objects/repositories/definition_repository.rb', line 7 def attach(run_id:, definition:) transaction do |db| params = [ run_id, definition.po_name, definition.version, definition.prompt, JSON.generate(definition.config), definition.provider, definition.model, definition.capability_policy_version, Time.now.utc.iso8601 ] db.execute(<<~SQL, params) INSERT INTO run_definitions ( run_id, po_name, version, prompt, config, provider, model, capability_policy_version, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) SQL end get(run_id) end |
#get(run_id) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/prompt_objects/repositories/definition_repository.rb', line 24 def get(run_id) row = read { |db| db.get_first_row("SELECT * FROM run_definitions WHERE run_id = ?", [run_id]) } return nil unless row Domain::PromptObjectDefinition.new( po_name: row["po_name"], version: row["version"], prompt: row["prompt"], config: JSON.parse(row["config"]), provider: row["provider"], model: row["model"], capability_policy_version: row["capability_policy_version"] ) end |