Class: Bddgenx::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/bddgenx/configuration.rb

Overview

Classe de configuração principal da gem BDDGenX. Permite definir o modo de geração BDD e os nomes das variáveis de ambiente que armazenam as chaves de API para integração com serviços de IA.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Inicializa a configuração com valores padrão:

  • modo: :static

  • ENV keys: ‘OPENAI_API_KEY’, ‘GEMINI_API_KEY’, ‘MICROSOFT_COPILOT_API_KEY’



40
41
42
43
44
45
# File 'lib/bddgenx/configuration.rb', line 40

def initialize
  @mode = :static
  @openai_api_key_env = 'OPENAI_API_KEY'
  @gemini_api_key_env = 'GEMINI_API_KEY'
  @microsoft_copilot_api_env = 'MICROSOFT_COPILOT_API_KEY'
end

Instance Attribute Details

#gemini_api_key_envString

Nome da variável de ambiente que contém a chave da API do Google Gemini

Returns:

  • (String)


30
31
32
# File 'lib/bddgenx/configuration.rb', line 30

def gemini_api_key_env
  @gemini_api_key_env
end

#microsoft_copilot_api_envString

Nome da variável de ambiente que contém a chave da API do Microsoft Copilot

Returns:

  • (String)


34
35
36
# File 'lib/bddgenx/configuration.rb', line 34

def microsoft_copilot_api_env
  @microsoft_copilot_api_env
end

#modeSymbol

Modo de execução da gem. Pode ser:

  • :static → geração local

  • :chatgpt → uso da IA do ChatGPT (OpenAI)

  • :gemini → uso da IA Gemini (Google)

  • :copilot → uso do Microsoft Copilot

Returns:

  • (Symbol)


22
23
24
# File 'lib/bddgenx/configuration.rb', line 22

def mode
  @mode
end

#openai_api_key_envString

Nome da variável de ambiente que contém a chave da API da OpenAI

Returns:

  • (String)


26
27
28
# File 'lib/bddgenx/configuration.rb', line 26

def openai_api_key_env
  @openai_api_key_env
end

Instance Method Details

#gemini_api_keyString?

Retorna a chave da API do Gemini, lida diretamente da ENV.

Returns:

  • (String, nil)

    Chave de API ou nil se não definida



59
60
61
# File 'lib/bddgenx/configuration.rb', line 59

def gemini_api_key
  ENV[@gemini_api_key_env]
end

#microsoft_copilot_api_keyString?

Retorna a chave da API do Microsoft Copilot, lida diretamente da ENV.

Returns:

  • (String, nil)

    Chave de API ou nil se não definida



67
68
69
# File 'lib/bddgenx/configuration.rb', line 67

def microsoft_copilot_api_key
  ENV[@microsoft_copilot_api_env]
end

#openai_api_keyString?

Retorna a chave da API do OpenAI, lida diretamente da ENV.

Returns:

  • (String, nil)

    Chave de API ou nil se não definida



51
52
53
# File 'lib/bddgenx/configuration.rb', line 51

def openai_api_key
  ENV[@openai_api_key_env]
end