Gå til indhold

Variabler og miljøer

Restorms variabler bor i en miljømappe, som kan indeholde flere sæt af dem: ét pr. miljø.

Et miljø er en liste af nøgle/værdi-par. Det kan indeholde undermiljøer, som arver fra deres forælder og tilsidesætter det, de redefinerer.

Det er det rigtige værktøj til at modellere stagingstaging / customer A, staging / customer B: det fælles grundlag skrives én gang, og kun forskellen gentages.

Miljøtræet: forældremiljøet »Petstore« og dets to undermiljøer »Staging« og »Production«

Miljøvælgeren ligger til venstre i smartbaren på hver anmodningsfane. Den viser en farvet prik og miljøets navn.

Popoveren tilbyder et afkrydsningsfelt, »Anvend på alle anmodninger«: er det markeret, skifter hele mappen på én gang — og det er præcis det, du vil, når et helt projekt skal flyttes fra local til staging.

En variabel er mere end en streng. Restorm tilbyder:

TypeHvad det er
StrengEn bogstavelig værdi, sendt som den er
UdtrykEn Handlebars-template — den eneste type, hvis {{ }} bliver evalueret
TalEt tal, med et visningsformat
BooleanSand / falsk
Dato/tidEn ISO-dato, med et format
FarveEn hexadecimal farve
HemmelighedEn reference til en kilde til hemmeligheder — værdien går aldrig gennem projektfilen
ListeEn liste af værdier
Enumeration / Multipel enumerationEn værdi, der er begrænset af en importeret enumeration
Brugerdefineret liste / Multipel brugerdefineret listeEt valg efter label fra en brugerdefineret værdiliste
VariabelEn reference til en anden variabel
MiljøEn reference til et miljø
NullDen eksplicitte nulværdi

Fra det mest generelle til det mest specifikke — den sidste vinder:

  1. rodmiljøet, derefter hvert undermiljø ned gennem kæden;
  2. miljøets egne variabler, i deklarationsrækkefølge: en variabel kan derfor bygge på dem, der er defineret over den;
  3. de kørselsvariabler, som et scenarie sætter (handlingen Sæt variabel), og som dækker miljøet, så længe kørslen varer;
  4. anmodningens egne værdier (headere, query-parametre, stiparametre), hvor hver gruppe resolveres mod den akkumulerede kontekst;
  5. og til sidst de {{ }}, der er skrevet direkte i anmodningens felter — se Inline-variabler.

Restorm foretager desuden flere gennemløb: et udtryk i et forældremiljø kan derfor hente en værdi, som et barn har redefineret.

Hver variabel har et afkrydsningsfelt til aktivering. En deaktiveret variabel kommer ikke ind i konteksten — det er den pæne måde at sætte en tilsidesættelse midlertidigt ud af kraft uden at slette den.

Ved importen bliver nøgle/værdi-par, hvis værdi resolveres til tom, automatisk deaktiveret: din første kørsel sender derfor ikke en sværm af tomme headere.

Ethvert udtryk er en Handlebars-template med over hundrede tilgængelige helpers: strenge, matematik, datoer, lister, kodning, hashing og tilfældige data.