lexa_framework/application/env.rs
1// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2// ┃ Copyright: (c) 2023, Mike 'PhiSyX' S. (https://github.com/PhiSyX) ┃
3// ┃ SPDX-License-Identifier: MPL-2.0 ┃
4// ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
5// ┃ ┃
6// ┃ This Source Code Form is subject to the terms of the Mozilla Public ┃
7// ┃ License, v. 2.0. If a copy of the MPL was not distributed with this ┃
8// ┃ file, You can obtain one at https://mozilla.org/MPL/2.0/. ┃
9// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
10
11// ----------- //
12// Énumération //
13// ----------- //
14
15/// Les modes dans lesquels le programme peut s'exécuter.
16///
17/// Les modes sont utilisés pour:
18///
19/// 1. choisir le fichier d'environnement à utiliser ;
20/// 2. le système de log ;
21/// 3. des informations renvoyées aux clients concernant des
22/// messages/comportement du programme spécifique à certains modes ;
23/// 4. ...
24///
25/// La valeur est définie grâce à la variable d'environnement `PROCESS_ENV`. La
26/// valeur par défaut de cette énumération est
27/// [LOCAL](EnvProcessMode::LOCAL).
28#[derive(Debug)]
29#[derive(Default)]
30#[derive(Copy, Clone)]
31#[derive(PartialEq, Eq)]
32#[allow(clippy::upper_case_acronyms)]
33pub enum EnvProcessMode {
34 #[default]
35 LOCAL,
36 DEVELOPMENT,
37 PRODUCTION,
38 TEST,
39}