Gå til innholdet

Variabler og miljøer

Variablene i Restorm bor i en miljømappe, som kan inneholde flere sett av dem: ett per miljø.

Et miljø er en liste av nøkkel/verdi-par. Det kan inneholde undermiljøer, som arver fra forelderen sin og overstyrer det de redefinerer.

Dette er det rette verktøyet for å modellere stagingstaging / customer A, staging / customer B: det felles grunnlaget skrives én gang, og bare forskjellen gjentas.

Miljøtreet: foreldremiljøet «Petstore» og de to undermiljøene «Staging» og «Production»

Miljøvelgeren ligger til venstre i smartbaren i hver forespørselsfane. Den viser en farget prikk og navnet på miljøet.

Popoveren tilbyr en avmerkingsboks «Bruk på alle forespørsler»: er den avkrysset, bytter den hele mappen på én gang — det er dette du vil bruke for å flytte et helt prosjekt fra local til staging.

En variabel er ikke bare en streng. Restorm tilbyr typisk:

TypeHva det er
StrengEn bokstavelig verdi, sendt som den er
UttrykkEn Handlebars-mal — den eneste typen der {{ }} faktisk evalueres
TallEt tall, med et visningsformat
BooleanSant / falskt
Dato/tidEn ISO-dato, med et format
FargeEn heksadesimal farge
HemmelighetEn referanse til en hemmelighetskilde — verdien går aldri gjennom prosjektfilen
ListeEn liste av verdier
Enumerasjon / Multippel enumerasjonEn verdi som er begrenset av en importert enumerasjon
Egendefinert liste / Multippel egendefinert listeEt valg etter etikett i en egendefinert verdiliste
VariabelEn referanse til en annen variabel
MiljøEn referanse til et miljø
NullDen eksplisitte nullverdien

Fra det mest generelle til det mest spesifikke — den siste vinner:

  1. rotmiljøet, deretter hvert undermiljø i kjeden;
  2. variablene i miljøet selv, i den rekkefølgen de er deklarert: en variabel kan altså bygge på dem som er definert over den;
  3. run-variablene som et scenario setter (handlingen Sett variabel), og som overskygger miljøet så lenge kjøringen varer;
  4. verdiene som hører til forespørselen selv (headere, spørringsparametere, stiparametere), der hver gruppe løses opp mot den akkumulerte konteksten;
  5. og til slutt de {{ }} som er skrevet direkte i feltene i forespørselen — se Inline-variabler.

Restorm gjør for øvrig flere gjennomløp: et uttrykk i et foreldremiljø kan derfor hente en verdi som et barnemiljø har redefinert.

Hver variabel har en avmerkingsboks for aktivering. En deaktivert variabel går ikke inn i konteksten — det er den ryddige måten å nøytralisere en overstyring midlertidig uten å slette den.

Ved import blir nøkkel/verdi-par der verdien løses opp til tomt, automatisk deaktivert: den første kjøringen din sender altså ikke en sverm av tomme headere.

Alle uttrykk er Handlebars-maler, med over hundre tilgjengelige helpere: strenger, matematikk, datoer, lister, koding, hashing, tilfeldige data.