Aion
view release on metacpan or search on metacpan
t/aion/pleroma.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::Pleroma - конÑÐµÐ¹Ð½ÐµÑ Ñонов
#
# # SYNOPSIS
#
subtest 'SYNOPSIS' => sub {
use Aion::Pleroma;
my $pleroma = Aion::Pleroma->new;
local ($::_g0 = do {$pleroma->get('user')}, $::_e0 = do {undef}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '$pleroma->get(\'user\') # -> undef' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
eval {$pleroma->resolve('user')}; local ($::_g0 = $@, $::_e0 = 'user is\'nt eon!'); ok defined($::_g0) && $::_g0 =~ /^${\quotemeta $::_e0}/, '$pleroma->resolve(\'user\') # @-> user is\'nt eon!' or ::diag ::_string_diff($::_g0, $::_e0, 1); undef $::_g...
#
# # DESCRIPTION
#
# РеализÑÐµÑ Ð¿Ð°ÑÑеÑн конÑейнеÑа завиÑимоÑÑей.
#
# Ðон ÑоздаÑÑÑÑ Ð¿Ñи запÑоÑе из конÑейнеÑа ÑеÑез меÑод `get` или `resolve`, либо ÑеÑез аÑÐ¿ÐµÐºÑ `eon` как ленивÑй `default`. ÐенивоÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ оÑмениÑÑ ÑеÑеÐ...
#
# ÐонÑÐµÐ¹Ð½ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ полÑÑиÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `Aion->pleroma`.
#
# ÐонÑигÑÑаÑÐ¸Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñонов полÑÑÐ°ÐµÑ Ð¸Ð· конÑига `PLEROMA` и Ñайла анноÑаÑий (ÑоздаÑÑÑÑ Ð¿Ð°ÐºÐµÑом `Aion::Annotation`). Файл анноÑаÑий можно замениÑ...
#
# # CONFIG
#
# ÐаÑÑÑойки модÑлÑ, коÑоÑÑе можно ÑÑÑановиÑÑ Ð² `.env`:
#
# * AION_PLEROMA_INI â Ñайл анноÑаÑий. Ðо ÑмолÑÐ°Ð½Ð¸Ñ `etc/annotation/eon.ann`.
# * AION_PLEROMA_AUTOWARE â подгÑÑжаÑÑ Ð¼Ð¾Ð´Ñли авÑомаÑиÑеÑки, даже еÑли они не пÑопиÑÐ°Ð½Ñ Ð² конÑигÑÑаÑии. Ðо ÑмолÑÐ°Ð½Ð¸Ñ `1`.
#
# # EONS FROM CONFIG
#
# Ð `etc/*.yml` можно добавиÑÑ ÐºÐ»ÑÑ `aion.eon` Ñ Ð¾Ð¿Ð¸Ñанием дополниÑелÑнÑÑ
Ñонов. ÐÑо позволÑÐµÑ ÑобиÑаÑÑ ÑÐ¾Ð½Ñ Ð´ÐµÐºÐ»Ð°ÑаÑивно: задаваÑÑ Ð°ÑгÑменÑÑ ÐºÐ¾Ð½Ñ...
#
# ÐпиÑем клаÑÑÑ Ñонов.
#
# Файл lib/Ex/Eon/Astronomer.pm:
#@> lib/Ex/Eon/Astronomer.pm
#>> package Ex::Eon::Astronomer;
#>> use strict; use warnings;
#>>
#>> sub new { my ($class, $name, $telescope) = @_; bless { name => $name, telescope => $telescope, seen => [] }, $class }
#>> sub name { $_[0]{name} }
#>> sub telescope { $_[0]{telescope} }
#>> sub seen { $_[0]{seen} }
#>> sub observe { my ($self, $body) = @_; push @{ $self->{seen} }, $body; $body }
#>>
#>> 1;
#@< EOF
#
# Файл lib/Ex/Eon/Planet.pm:
#@> lib/Ex/Eon/Planet.pm
#>> package Ex::Eon::Planet;
#>> use common::sense;
#>> use Aion;
#>>
#>> has name => (is => 'ro');
#>> has moons => (is => 'ro', default => 0);
( run in 1.083 second using v1.01-cache-2.11-cpan-aadc1410aed )