Aion-Env
view release on metacpan or search on metacpan
```
# DESCRIPTION
РпÑоекÑаÑ
иÑполÑзÑеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑионнÑй Ñайл `.env` Ð´Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии пÑоекÑа, в `Makefile`, Ð´Ð»Ñ `docker` и `docker compose`. ÐаннÑй модÑÐ»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾ÑоÑмÐ...
ÐонÑÑанÑÑ Ð¸Ð½Ð¸ÑиализиÑÑÑÑÑÑ Ð¸Ð· `%ENV`, еÑли Ñам Ð½ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ оно `undef`, Ñо из Ñайла `.env`, а еÑли и Ñам его не бÑÐ´ÐµÑ â из опÑии `default`.
ÐÑи паÑÑинге Ñайла, оÑибка ÑинÑакÑиÑа пÑиведÑÑ Ðº иÑклÑÑениÑ.
Тип пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ пÑовеÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿Ñии `isa`. Ðна пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð¸Ð»Ð¸ обÑÐµÐºÑ Ñ Ð¿ÐµÑегÑÑженнÑм опеÑаÑоÑом `${}`. Ð ÑÑÐ...
РекомендÑеÑÑÑ Ð½Ð°Ð·ÑваÑÑ Ð¿ÐµÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ модÑÐ»Ñ Ð² коÑоÑом она обÑÑвлена. ÐапÑимеÑ, Ð¿Ð°ÐºÐµÑ `Aion::Type`, Ñогда имена пеÑÐ...
# SUBROUTINES
## import ($cls, $name, %kw)
СоздаÑÑ ÐºÐ¾Ð½ÑÑанÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ `$name` в пакеÑе из коÑоÑого вÑзван.
ÐпÑионалÑно можно пеÑедаÑÑ Ð² `%kw` `isa` и `default`.
i18n/Aion/Env.ru-en.po view on Meta::CPAN
msgid "РпÑоекÑаÑ
иÑполÑзÑеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑионнÑй Ñайл `.env` Ð´Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии пÑоекÑа, в `Makefile`, Ð´Ð»Ñ `docker` и `docker compose`. ÐаннÑй модÑÐ»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾Ñ...
msgstr "Projects use the `.env` configuration file for project configuration, in `Makefile`, for `docker` and `docker compose`. This module allows you to design environment variables as constants of `perl` modules."
msgid "ÐонÑÑанÑÑ Ð¸Ð½Ð¸ÑиализиÑÑÑÑÑÑ Ð¸Ð· `%ENV`, еÑли Ñам Ð½ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ оно `undef`, Ñо из Ñайла `.env`, а еÑли и Ñам его не бÑÐ´ÐµÑ â из опÑии `default`."
msgstr "Constants are initialized from `%ENV`, if there is no value there or it is `undef`, then from the `.env` file, and if it is not there, from the `default` option."
msgid "ÐÑи паÑÑинге Ñайла, оÑибка ÑинÑакÑиÑа пÑиведÑÑ Ðº иÑклÑÑениÑ."
msgstr "When parsing a file, a syntax error will result in an exception."
msgid "Тип пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ пÑовеÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿Ñии `isa`. Ðна пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð¸Ð»Ð¸ обÑÐµÐºÑ Ñ Ð¿ÐµÑегÑÑженнÑм опеÑаÑоÑом `${}`. Ð...
msgstr "The type of an environment variable can be checked using the `isa` option. It accepts a subroutine or object with the `${}` operator overloaded. In this case, the value will be passed to `$_`. If the object has a `validate` method, like `Aion...
msgid "РекомендÑеÑÑÑ Ð½Ð°Ð·ÑваÑÑ Ð¿ÐµÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ модÑÐ»Ñ Ð² коÑоÑом она обÑÑвлена. ÐапÑимеÑ, Ð¿Ð°ÐºÐµÑ `Aion::Type`, Ñогда имена ...
msgstr "It is recommended to name environment variables using the name of the module in which it is declared. For example, the package is `Aion::Type`, then the names of the environment variables in it are `AION_TYPE_*`."
msgid "СоздаÑÑ ÐºÐ¾Ð½ÑÑанÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ `$name` в пакеÑе из коÑоÑого вÑзван.\n"
"ÐпÑионалÑно можно пеÑедаÑÑ Ð² `%kw` `isa` и `default`."
msgstr "Creates a constant with the name `$name` in the package from which it is called.\n"
"Optionally, you can pass `isa` and `default` to `%kw`."
msgid "ÐаÑÑÐ¸Ñ Ñайл ÑоÑмаÑа `.env` и возвÑаÑÐ°ÐµÑ Ñ
ÐµÑ Ñ Ð¿ÐµÑеменнÑми из него."
lib/Aion/Env.md view on Meta::CPAN
```
# DESCRIPTION
РпÑоекÑаÑ
иÑполÑзÑеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑионнÑй Ñайл `.env` Ð´Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии пÑоекÑа, в `Makefile`, Ð´Ð»Ñ `docker` и `docker compose`. ÐаннÑй модÑÐ»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾ÑоÑмÐ...
ÐонÑÑанÑÑ Ð¸Ð½Ð¸ÑиализиÑÑÑÑÑÑ Ð¸Ð· `%ENV`, еÑли Ñам Ð½ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ оно `undef`, Ñо из Ñайла `.env`, а еÑли и Ñам его не бÑÐ´ÐµÑ â из опÑии `default`.
ÐÑи паÑÑинге Ñайла, оÑибка ÑинÑакÑиÑа пÑиведÑÑ Ðº иÑклÑÑениÑ.
Тип пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ пÑовеÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿Ñии `isa`. Ðна пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð¸Ð»Ð¸ обÑÐµÐºÑ Ñ Ð¿ÐµÑегÑÑженнÑм опеÑаÑоÑом `${}`. Ð ÑÑÐ...
РекомендÑеÑÑÑ Ð½Ð°Ð·ÑваÑÑ Ð¿ÐµÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ модÑÐ»Ñ Ð² коÑоÑом она обÑÑвлена. ÐапÑимеÑ, Ð¿Ð°ÐºÐµÑ `Aion::Type`, Ñогда имена пеÑÐ...
# SUBROUTINES
## import ($cls, $name, %kw)
СоздаÑÑ ÐºÐ¾Ð½ÑÑанÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ `$name` в пакеÑе из коÑоÑого вÑзван.
ÐпÑионалÑно можно пеÑедаÑÑ Ð² `%kw` `isa` и `default`.
lib/Aion/Env.pm view on Meta::CPAN
die sprintf "Unknown keyword%s: %s",
scalar keys %kw == 1? '': 's',
join ", ", sort keys %kw if keys %kw;
die "$name is'nt defined!" if !exists $ENV{$name} && !exists $env{$name} && !$is_default;
my $pkg = caller;
my $val = $ENV{$name} // $env{$name} // $default;
if($isa) {
if(UNIVERSAL::can($isa, "validate")) { $isa->validate($val, $name) }
else {
local $_ = $val;
die "$name type is'nt isa!" unless $isa->();
}
}
constant->import("$pkg\::$name", $val);
}
my $BOM = "\x{feff}";
lib/Aion/Env.pm view on Meta::CPAN
eval 'use Aion::Env NN_TEST => (nouname1 => 1, nouname2 => 2)'; $@; # ^-> Unknown keywords: nouname1, nouname2
=head1 DESCRIPTION
Projects use the C<.env> configuration file for project configuration, in C<Makefile>, for C<docker> and C<docker compose>. This module allows you to design environment variables as constants of C<perl> modules.
Constants are initialized from C<%ENV>, if there is no value there or it is C<undef>, then from the C<.env> file, and if it is not there, from the C<default> option.
When parsing a file, a syntax error will result in an exception.
The type of an environment variable can be checked using the C<isa> option. It accepts a subroutine or object with the C<${}> operator overloaded. In this case, the value will be passed to C<$_>. If the object has a C<validate> method, like C<Aion::T...
It is recommended to name environment variables using the name of the module in which it is declared. For example, the package is C<Aion::Type>, then the names of the environment variables in it are C<AION_TYPE_*>.
=head1 SUBROUTINES
=head2 import ($cls, $name, %kw)
Creates a constant with the name C<$name> in the package from which it is called.
Optionally, you can pass C<isa> and C<default> to C<%kw>.
t/aion/env.t view on Meta::CPAN
#
# # DESCRIPTION
#
# РпÑоекÑаÑ
иÑполÑзÑеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑионнÑй Ñайл `.env` Ð´Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии пÑоекÑа, в `Makefile`, Ð´Ð»Ñ `docker` и `docker compose`. ÐаннÑй модÑÐ»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾ÑоÑÐ...
#
# ÐонÑÑанÑÑ Ð¸Ð½Ð¸ÑиализиÑÑÑÑÑÑ Ð¸Ð· `%ENV`, еÑли Ñам Ð½ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ оно `undef`, Ñо из Ñайла `.env`, а еÑли и Ñам его не бÑÐ´ÐµÑ â из опÑии `default`.
#
# ÐÑи паÑÑинге Ñайла, оÑибка ÑинÑакÑиÑа пÑиведÑÑ Ðº иÑклÑÑениÑ.
#
# Тип пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ пÑовеÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿Ñии `isa`. Ðна пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð¸Ð»Ð¸ обÑÐµÐºÑ Ñ Ð¿ÐµÑегÑÑженнÑм опеÑаÑоÑом `${}`. Ð ÑÑ...
#
# РекомендÑеÑÑÑ Ð½Ð°Ð·ÑваÑÑ Ð¿ÐµÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ модÑÐ»Ñ Ð² коÑоÑом она обÑÑвлена. ÐапÑимеÑ, Ð¿Ð°ÐºÐµÑ `Aion::Type`, Ñогда имена пеÑ...
#
# # SUBROUTINES
#
# ## import ($cls, $name, %kw)
#
# СоздаÑÑ ÐºÐ¾Ð½ÑÑанÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ `$name` в пакеÑе из коÑоÑого вÑзван.
# ÐпÑионалÑно можно пеÑедаÑÑ Ð² `%kw` `isa` и `default`.
#
( run in 1.074 second using v1.01-cache-2.11-cpan-13bb782fe5a )