Variáveis e ambientes
As variáveis do Restorm vivem numa pasta de variáveis, que pode conter vários conjuntos: um por ambiente.
Ambientes e subambientes
Section titled “Ambientes e subambientes”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 staging → staging / customer A,
staging / customer B: a base comum é escrita uma vez, só a diferença é
repetida.

Escolher o ambiente ativo
Section titled “Escolher o ambiente ativo”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.
Tipos de valores
Section titled “Tipos de valores”Uma variável não é apenas uma cadeia de caracteres. O Restorm propõe os seguintes tipos:
| Tipo | O que é |
|---|---|
| Cadeia de caracteres | Um valor literal, enviado tal e qual |
| Expressão | Um modelo Handlebars — é o único tipo cujas {{ }} são avaliadas |
| Número | Um número, com um formato de apresentação |
| Booleano | Verdadeiro / falso |
| Data/hora | Uma data ISO, com um formato |
| Cor | Uma cor hexadecimal |
| Segredo | Uma referência para uma fonte de segredos — o valor nunca transita pelo ficheiro de projeto |
| Lista | Uma lista de valores |
| Enumeração / Enumeração múltipla | Um valor restringido por uma enumeração importada |
| Lista personalizada / Lista personalizada múltipla | Uma escolha por rótulo numa lista de valores personalizada |
| Variável | Uma referência para outra variável |
| Ambiente | Uma referência para um ambiente |
| Nulo | O valor nulo explícito |
Ordem de resolução
Section titled “Ordem de resolução”Do mais geral para o mais específico — o último ganha:
- o ambiente raiz, e depois cada subambiente da cadeia;
- as variáveis do próprio ambiente, na sua ordem de declaração: uma variável pode, portanto, apoiar-se nas definidas acima dela;
- as variáveis de execução colocadas por um cenário (ação Definir variável), que cobrem o ambiente durante a execução;
- os valores próprios do pedido (cabeçalhos, parâmetros de consulta, parâmetros de caminho), resolvendo-se cada grupo sobre o contexto acumulado;
- 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.
Variáveis desativadas
Section titled “Variáveis desativadas”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.
E os helpers?
Section titled “E os helpers?”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.