Sha256: 15691858deb400bdded1986ce7c8529d5af518ea82ef6a8e8bdc76ba9252cc01
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
module Llm module Functions class GetGemFilesList < Base def function_name :get_gem_files_list end def self.gem_name_enums @gem_name_enums ||= ::Bundler.locked_gems.specs.map(&:full_name) end def definition return @definition unless @definition.nil? @definition = { name: self.function_name, description: I18n.t("ghostest.functions.#{self.function_name}.description"), parameters: { type: :object, properties: { gem_name: { type: :string, description: I18n.t("ghostest.functions.#{self.function_name}.parameters.gem_name"), enum: self.class.gem_name_enums, }, }, required: [:gem_name], }, } @definition end def execute_and_generate_message(args) unless self.class.gem_name_enums.include?(args['gem_name']) return { message: 'invalid gem_name. gem_name is below' + self.class.gem_name_enums.join("\n") } end files_list = Dir.glob("#{Gem.paths.home}/gems/#{args['gem_name']}/**/*.{rb,yml}") { files_list: } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ghostest-0.1.0 | lib/llm/functions/get_gem_files_list.rb |