Pular para o conteúdo

Variáveis e ambientes

As variáveis do Restorm vivem numa pasta de variáveis, que pode conter vários conjuntos: um por ambiente.

Um ambiente é uma lista de pares chave / valor. Pode conter subambientes, que herdam do seu pai e se sobrepõem ao que redefinem.

É a ferramenta certa para modelar stagingstaging / customer A, staging / customer B: a base comum é escrita uma vez, só a diferença é repetida.

A árvore de ambientes: o ambiente pai “Petstore” e os seus dois subambientes “Staging” e “Production”

O seletor de ambiente está à esquerda da smartbar de cada separador de pedido. Mostra um ponto colorido e o nome do ambiente.

O menu emergente propõe uma caixa de verificação “Aplicar a todos os pedidos”: se estiver marcada, muda toda a pasta de uma só vez — é o que quer para passar um projeto inteiro de local para staging.

Uma variável não é apenas uma cadeia de caracteres. O Restorm propõe os seguintes tipos:

TipoO que é
Cadeia de caracteresUm valor literal, enviado tal e qual
ExpressãoUm modelo Handlebars — é o único tipo cujas {{ }} são avaliadas
NúmeroUm número, com um formato de apresentação
BooleanoVerdadeiro / falso
Data/horaUma data ISO, com um formato
CorUma cor hexadecimal
SegredoUma referência para uma fonte de segredos — o valor nunca transita pelo ficheiro de projeto
ListaUma lista de valores
Enumeração / Enumeração múltiplaUm valor restringido por uma enumeração importada
Lista personalizada / Lista personalizada múltiplaUma escolha por rótulo numa lista de valores personalizada
VariávelUma referência para outra variável
AmbienteUma referência para um ambiente
NuloO valor nulo explícito

Do mais geral para o mais específico — o último ganha:

  1. o ambiente raiz, e depois cada subambiente da cadeia;
  2. as variáveis do próprio ambiente, na sua ordem de declaração: uma variável pode, portanto, apoiar-se nas definidas acima dela;
  3. as variáveis de execução colocadas por um cenário (ação Definir variável), que cobrem o ambiente durante a execução;
  4. os valores próprios do pedido (cabeçalhos, parâmetros de consulta, parâmetros de caminho), resolvendo-se cada grupo sobre o contexto acumulado;
  5. e, por fim, as {{ }} escritas diretamente nos campos do pedido — ver Variáveis em linha.

O Restorm faz, além disso, várias passagens: uma expressão de um ambiente pai pode assim recuperar um valor redefinido por um filho.

Cada variável tem uma caixa de ativação. Uma variável desativada não entra no contexto — é a forma limpa de neutralizar temporariamente uma sobreposição sem a eliminar.

Na importação, os pares chave / valor cujo valor se resolve como vazio são automaticamente desativados: a sua primeira execução não envia, portanto, uma nuvem de cabeçalhos vazios.

Toda a expressão é um modelo Handlebars, com mais de cem helpers disponíveis: cadeias, matemática, datas, listas, codificação, hash, dados aleatórios.