Class: Jatai::Commands::Env

Inherits:
Thor
  • Object
show all
Defined in:
lib/jatai/commands/env.rb

Instance Method Summary collapse

Instance Method Details

#listObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/jatai/commands/env.rb', line 10

def list
  helper = EnvHelper.new
  helper.require_auth!
  slug = helper.app_slug

  vars = helper.api.get("/api/v1/apps/#{slug}/env")

  if vars.nil? || vars.empty?
    helper.info("Nenhuma variável de ambiente configurada.")
    return
  end

  vars.each do |key, value|
    puts "#{helper.pastel.bold(key)}=#{value}"
  end
rescue Api::Client::ApiError => e
  EnvHelper.new.error("Erro: #{e.message}")
end

#set(*pairs) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/jatai/commands/env.rb', line 30

def set(*pairs)
  helper = EnvHelper.new
  helper.require_auth!
  slug = helper.app_slug

  env_vars = {}
  pairs.each do |pair|
    key, value = pair.split("=", 2)
    if key.nil? || key.empty? || value.nil?
      helper.error("Formato inválido: #{pair}. Use KEY=VALUE.")
      return
    end
    env_vars[key] = value
  end

  helper.api.put("/api/v1/apps/#{slug}/env", body: { env: env_vars })
  helper.success("Variáveis de ambiente atualizadas.")
rescue Api::Client::ApiError => e
  EnvHelper.new.error("Erro: #{e.message}")
end

#unset(*keys) ⇒ Object



52
53
54
55
56
57
58
59
60
61
# File 'lib/jatai/commands/env.rb', line 52

def unset(*keys)
  helper = EnvHelper.new
  helper.require_auth!
  slug = helper.app_slug

  helper.api.delete("/api/v1/apps/#{slug}/env/#{keys.join(",")}")
  helper.success("Variáveis removidas: #{keys.join(", ")}")
rescue Api::Client::ApiError => e
  EnvHelper.new.error("Erro: #{e.message}")
end