Class: Ace::Support::Models::CLI::Commands::Providers::List
- Inherits:
-
Cli::Command
- Object
- Cli::Command
- Ace::Support::Models::CLI::Commands::Providers::List
- Includes:
- Cli::Base
- Defined in:
- lib/ace/support/models/cli/commands/providers/list.rb
Overview
List all providers with model counts
Instance Method Summary collapse
Instance Method Details
#call(**options) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/ace/support/models/cli/commands/providers/list.rb', line 19 def call(**) cache_manager = Molecules::CacheManager.new unless cache_manager.cached? raise Ace::Support::Cli::Error.new("No cache data. Run 'ace-models sync' first.") end providers = cache_manager.list_providers if [:json] puts JSON.pretty_generate(providers) return end puts "Providers (#{providers.size}):" providers.sort_by { |p| -p[:model_count] }.each do |provider| puts " #{provider[:id]}: #{provider[:model_count]} models" end rescue CacheError => e raise Ace::Support::Cli::Error.new(e.) end |