/ / Hodnoty životného prostredia v Ruby - rubínové železnice, rubín

Hodnoty prostredia v rubíne - rubín na koľajniciach, rubín

Ahoj všetci, chcem sa opýtať, či má Ruby hodnoty prostredia, v ktorých môžem uložiť premennú a použiť ju kdekoľvek v mojom teste, rovnako ako QTP Environment.value = "SomeValue"

odpovede:

1 pre odpoveď č. 1

Premenné prostredia sú uložené v ENVkonštantný a dá sa k nemu pristupovať ako Hash

napr

ENV["PS1"]
=> "\u@\h:\w (\t)$ "

Premenné prostredia sú užitočné pri ukladaní konfigurácií

so:

ENV["QTP"] = "Some value"

rád by urobil ENV["QTP"] premenná prostredia, ku ktorej je možné pristupovať po celú dobu životnosti vašej aplikácie (môžete ju vyladiť podľa toho, v akom prostredí sa nachádzate test, development alebo production)

Takže môžete svoju konfiguráciu uložiť do premenných shellu pred spustením aplikácie Ruby pomocou bar.rb obsahujúce:

puts ENV["QTP"]

Spustenie súboru Ruby podľa nasledujúceho postupu:

QTP=foo ruby bar.rb

Vytlačili by ste „foo“ na vašu konzolu

Prípadne môžete ukladať hodnoty do konštantnej hodnoty a „mala by“ zostať rovnaká počas celej životnosti vašej aplikácie


0 pre odpoveď č. 2

Ak je to pre váš test a neznepokojuje vás bezpečnosť vlákna, môžete použiť globálnu premennú alebo konštantu.

$global_var = "SomeValue"
CONSTANT = "SomeValue"

Na CONSTANT nemá sa meniť a $global_var môžu byť upravené

Ak sa obávate nití, môžete použiť premennú Thread

Thread.current[:your_var_name] = "SomeValue"

Každé vlákno má inú hodnotu Thread.current[:your_var_name]


0 pre odpoveď č. 3

Premenné prostredia sú presne to - premenné uložené v aplikácii prostredie

Prostredím vašej aplikácie je OS / server, na ktorom je aplikácia spustená, čo znamená, že ak chcete ukladať premenné na použitie v aplikácii, musíte ich nastaviť na úrovni OS.


Herok

Najlepší príklad premenných ENV v Rails on Heroku:

heroku config:set YOUR_VAR=your_value

Figaro

Veľmi by som odporučil pri pohľade na Figaro klenot

To emuluje vývojové premenné ENV a umožňuje vám veľmi ľahko ich tlačiť do produkčného prostredia

Dôrazne sa odporúča, aby ste svoje údaje ENV udržiavali konzistentné vo všetkých prostrediach, čo je Figaro veľmi dobré :)