Aion-Env
view release on metacpan or search on metacpan
t/aion/env/etc.t view on Meta::CPAN
use common::sense; use open qw/:std :utf8/; use Carp qw//; use Cwd qw//; use File::Basename qw//; use File::Find qw//; use File::Slurper qw//; use File::Spec qw//; use File::Path qw//; use Scalar::Util qw//; use Test::More 0.98; use String::Diff q...
# # NAME
#
# Aion::Env::Etc - ÑоздаÑÑ ÐºÐ¾Ð½ÑÑанÑÑ ÑвÑзаннÑÑ Ñ ÐºÐ»ÑÑом из конÑигÑÑаÑионнÑÑ
Ñайлов
#
# # SYNOPSIS
#
# Файл etc/include.yml:
#@> etc/include.yml
#>> includes:
#>> - etc/test.yml
#>>
#>> test:
#>> abc: -12
#@< EOF
#
# Файл etc/test.yml:
#@> etc/test.yml
#>> test:
#>> abc: 100
#>>
#>> when@dev:
#>> test:
#>> val: 10
#@< EOF
#
subtest 'SYNOPSIS' => sub {
BEGIN { $ENV{APP_ENV} = 'dev' }
sub Int { sub { /^-?\d+$/ } }
use Aion::Env::Etc TEST_ABC => (isa => Int);
use Aion::Env::Etc VAL => (isa => Int, key => 'test.val');
local ($::_g0 = do {TEST_ABC}, $::_e0 = do {-12}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, 'TEST_ABC # -> -12' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {VAL}, $::_e0 = do {10}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, 'VAL # -> 10' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# # DESCRIPTION
#
# ÐаÑÑÐ¸Ñ ÐºÐ¾Ð½ÑигÑÑаÑионнÑй Ñайл. ÐÑÑÑ Ðº Ð½ÐµÐ¼Ñ Ð·Ð°Ð´Ð°Ð½ ÑнвиÑонменÑ-пеÑеменной `AION_ENV_ETC_PATH`.
#
# РнÑм Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÐºÐ»ÑÑ `includes` c вклÑÑением дÑÑгиÑ
конÑигÑÑаÑионнÑÑ
Ñайлов, а Ñ ÑеÑ
â дÑÑгиÑ
.
# ÐÐ»Ñ Ð¿ÑоÑÑоÑÑ `includes` ÑÑабаÑÑваÑÑ Ð¾Ñ ÑекÑÑего каÑалога, коÑоÑÑй должен ÑооÑвеÑÑÑвоваÑÑ ÐºÐ¾ÑÐ½Ñ Ð¿ÑоекÑа (Ñаково ÑоглаÑение).
#
# ÐлÑÑи вида `when@ID` бÑдÑÑ Ð¿ÐµÑекÑÑваÑÑ Ñвоими клÑÑами клÑÑи конÑигÑÑаÑионного Ñайла, еÑли `ID` из ниÑ
ÑооÑвеÑÑÑвÑÐµÑ `APP_ENV`.
#
# ХеÑи в клÑÑаÑ
, пÑи Ñовпадении клÑÑей в ÑазнÑÑ
ÑайлаÑ
, обÑединÑÑÑÑÑ ÑекÑÑÑивно. Ðднако еÑли в одном из клÑÑей не Ñ
еÑ, Ñо бÑÐ´ÐµÑ Ð²ÑбÑоÑено и...
#
# # SUBROUTINES
#
# ## import ($name, %kw)
#
# СоздаÑÑ ÐºÐ¾Ð½ÑÑанÑÑ Ð² пакеÑе из коÑоÑого бÑл вÑзван.
#
# ÐопÑÑÑимÑе опÑии:
#
# * `isa` â подпÑогÑамма-ÑеÑÑÐµÑ Ð¸Ð»Ð¸ обÑÐµÐºÑ `Aion::Type` Ð´Ð»Ñ Ð¿ÑовеÑки Ñипа.
# * `default` â знаÑение по ÑмолÑаниÑ.
# * `key` â клÑÑ Ð¸Ð· конÑигÑÑаÑионнÑÑ
Ñайлов. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ðº Ð½ÐµÐ¼Ñ Ð¿ÑеобÑазÑеÑÑÑ Ð¸Ð¼Ñ ÐºÐ¾Ð½ÑÑанÑÑ (пеÑеводиÑÑÑ Ð² нижний ÑегиÑÑÑ Ð¸ подÑÑÑки заменÑ...
#
( run in 1.433 second using v1.01-cache-2.11-cpan-6aa56a78535 )