Class: Askcii::ConfigValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/askcii/config_validator.rb

Overview

Validates configuration settings before use

Constant Summary collapse

VALID_PROVIDERS =
%w[openai anthropic gemini deepseek openrouter ollama].freeze

Class Method Summary collapse

Class Method Details

.valid_provider?(name) ⇒ Boolean

Checks if a provider name is valid

Parameters:

  • name (String)

    Provider name

Returns:

  • (Boolean)


25
26
27
# File 'lib/askcii/config_validator.rb', line 25

def valid_provider?(name)
  VALID_PROVIDERS.include?(name.to_s.downcase)
end

.valid_providersArray<String>

Lists all valid provider names

Returns:

  • (Array<String>)


31
32
33
# File 'lib/askcii/config_validator.rb', line 31

def valid_providers
  VALID_PROVIDERS
end

.validate!(config) ⇒ Hash

Validates a configuration hash

Parameters:

  • config (Hash)

    Configuration to validate

Returns:

  • (Hash)

    The validated configuration

Raises:



13
14
15
16
17
18
19
20
# File 'lib/askcii/config_validator.rb', line 13

def validate!(config)
  validate_presence!(config)
  validate_provider!(config)
  validate_api_key!(config)
  validate_model_id!(config)
  validate_api_endpoint!(config)
  config
end