Class: Glancer::Engine

Inherits:
Rails::Engine
  • Object
show all
Defined in:
lib/glancer/engine.rb

Class Method Summary collapse

Class Method Details

.configure_provider_key(config, glancer_cfg, provider) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/glancer/engine.rb', line 68

def self.configure_provider_key(config, glancer_cfg, provider)
  case provider
  when :gemini
    key = glancer_cfg.gemini_api_key || glancer_cfg.api_key
    raise Glancer::Error, "Gemini API key is required but not configured." if key.nil? || key.empty?

    config.gemini_api_key = key
  when :openai
    key = glancer_cfg.openai_api_key || glancer_cfg.api_key
    raise Glancer::Error, "OpenAI API key is required but not configured." if key.nil? || key.empty?

    config.openai_api_key = key
  when :openrouter
    key = glancer_cfg.openrouter_api_key || glancer_cfg.api_key
    raise Glancer::Error, "OpenRouter API key is required but not configured." if key.nil? || key.empty?

    config.openrouter_api_key = key
  else
    raise Glancer::Error, "Unsupported LLM provider: #{provider.inspect}"
  end
end