Class: RubyLLM::Registry::Adapters::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_llm/registry/adapters/base.rb

Overview

Shared adapter behavior for prompt storage backends.

Direct Known Subclasses

ActiveRecord, MongoDB, S3, SQLite

Instance Method Summary collapse

Instance Method Details

#available_versions(_path) ⇒ Object



12
13
14
# File 'lib/ruby_llm/registry/adapters/base.rb', line 12

def available_versions(_path)
  []
end

#export(path, version: nil, label: nil, format: :markdown, **options) ⇒ Object



20
21
22
23
# File 'lib/ruby_llm/registry/adapters/base.rb', line 20

def export(path, version: nil, label: nil, format: :markdown, **options)
  prompt = get(path, version: version, label: label)
  Exporter.new(prompt).public_send(exporter_method(format), **options)
end

#get(_path, version: nil, label: nil) ⇒ Object

Raises:

  • (NotImplementedError)


8
9
10
# File 'lib/ruby_llm/registry/adapters/base.rb', line 8

def get(_path, version: nil, label: nil)
  raise NotImplementedError, "#{self.class} must implement #get"
end

#import(payload, format: :auto, **options) ⇒ Object



25
26
27
28
29
# File 'lib/ruby_llm/registry/adapters/base.rb', line 25

def import(payload, format: :auto, **options)
  prompt = Importer.new(payload, format: format, **options).to_prompt
  store(prompt)
  prompt
end

#store(_prompt) ⇒ Object

Raises:

  • (NotImplementedError)


16
17
18
# File 'lib/ruby_llm/registry/adapters/base.rb', line 16

def store(_prompt, **)
  raise NotImplementedError, "#{self.class} must implement #store"
end