Class: RubyLLM::Skills::FilteredLoader
- Inherits:
-
Object
- Object
- RubyLLM::Skills::FilteredLoader
- Defined in:
- lib/ruby_llm/skills/chat_extensions.rb
Overview
Simple wrapper that filters skills by name.
Instance Method Summary collapse
- #exists?(name) ⇒ Boolean
- #find(name) ⇒ Object
- #get(name) ⇒ Object
-
#initialize(loader, only) ⇒ FilteredLoader
constructor
A new instance of FilteredLoader.
- #list ⇒ Object
- #reload! ⇒ Object
Constructor Details
#initialize(loader, only) ⇒ FilteredLoader
Returns a new instance of FilteredLoader.
65 66 67 68 |
# File 'lib/ruby_llm/skills/chat_extensions.rb', line 65 def initialize(loader, only) @loader = loader @only = Array(only).map(&:to_s) end |
Instance Method Details
#exists?(name) ⇒ Boolean
84 85 86 |
# File 'lib/ruby_llm/skills/chat_extensions.rb', line 84 def exists?(name) @only.include?(name.to_s) && @loader.exists?(name) end |
#find(name) ⇒ Object
74 75 76 77 |
# File 'lib/ruby_llm/skills/chat_extensions.rb', line 74 def find(name) return nil unless @only.include?(name.to_s) @loader.find(name) end |
#get(name) ⇒ Object
79 80 81 82 |
# File 'lib/ruby_llm/skills/chat_extensions.rb', line 79 def get(name) raise NotFoundError, "Skill not found: #{name}" unless @only.include?(name.to_s) @loader.get(name) end |
#list ⇒ Object
70 71 72 |
# File 'lib/ruby_llm/skills/chat_extensions.rb', line 70 def list @loader.list.select { |s| @only.include?(s.name) } end |
#reload! ⇒ Object
88 89 90 91 |
# File 'lib/ruby_llm/skills/chat_extensions.rb', line 88 def reload! @loader.reload! self end |