Class: Ace::Support::Models::CLI::Commands::Providers::Show
- Inherits:
-
Cli::Command
- Object
- Cli::Command
- Ace::Support::Models::CLI::Commands::Providers::Show
- Includes:
- Cli::Base
- Defined in:
- lib/ace/support/models/cli/commands/providers/show.rb
Overview
Show provider details and models
Instance Method Summary collapse
Instance Method Details
#call(provider_id:, **options) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/ace/support/models/cli/commands/providers/show.rb', line 20 def call(provider_id:, **) cache_manager = Molecules::CacheManager.new unless cache_manager.cached? raise Ace::Support::Cli::Error.new("No cache data. Run 'ace-models sync' first.") end provider_data = cache_manager.get_provider(provider_id) unless provider_data raise Ace::Support::Cli::Error.new("Provider '#{provider_id}' not found") end if [:json] puts JSON.pretty_generate(provider_data) return end puts "Provider: #{provider_id}" puts "Models (#{provider_data[:models].size}):" provider_data[:models].each do |model| status = model[:deprecated] ? " (deprecated)" : "" puts " #{model[:id]}#{status}" puts " #{model[:name]}" end rescue CacheError => e raise Ace::Support::Cli::Error.new(e.) end |