Mojolicious-Che
view release on metacpan or search on metacpan
lib/Mojo/Base/Che.pm view on Meta::CPAN
$_[0]{$attr} = $_[1];
$_[0];
};
}
elsif (defined $value) {
$sub = sub {
return exists $_[0]{$attr} ? $_[0]{$attr} : ($_[0]{$attr} = $value)
if @_ == 1;
$_[0]{$attr} = $_[1];
$_[0];
};
}
else {
$sub
= sub { return $_[0]{$attr} if @_ == 1; $_[0]{$attr} = $_[1]; $_[0] };
}
Mojo::Util::monkey_patch($class, $attr, $sub);
}
}
#~ sub import {
#~ my ($class, $caller) = (shift, caller);
#~ my @flags = _lib_flags(@_);
#~ Mojo::Base->import(@flags); # patch 2
#~ }
#~ sub _lib_flags {# patch2
#~ my ($flag, $findbin, @flags, @libs) = ();
#~ while ((my $it = shift) || @_) {# parse flags
#~ unshift @_, @$it
#~ and next
#~ if ref $it eq 'ARRAY';
#~ next
#~ unless defined($it) && $it =~ m'/|\w';# / root lib? lets
#~ if ($it =~ s'^(-\w+)'') {# controll flag
#~ $flag = $1;
#~ push @flags, $flag
#~ and next
#~ unless $flag eq '-lib';
#~ unshift @_, split m'[:;]+', $it # -lib:foo;bar
#~ if $it;
#~ next;
#~ } elsif (!$flag || $flag ne '-lib') { # non controll
#~ push @flags, $it;
#~ next;
#~ # unless $flag && $flag eq '-lib';# non lib items
#~ }
#~ push @libs, $it # abs lib
#~ and next
#~ if $it =~ m'^/';
#~ $findbin ||= require FindBin && $FindBin::Bin;# relative lib
#~ push @libs, $findbin.'/'.$it;
#~ }
#~ my @ok_libs = grep { my $lib = $_; not scalar grep($lib eq $_, @INC) } @libs
#~ if @libs;
#~ require lib
#~ and lib->import(@ok_libs)
#~ if @ok_libs;
#~ return @flags;
#~ }
1;
=pod
=encoding utf8
ÐобÑого вÑем
=head1 Mojo::Base::Che
¡ ¡ ¡ ALL GLORY TO GLORIA ! ! !
=head1 NAME
Mojo::Base::Che - some patch for Mojo::Base
=head1 DESCRIPTION
ÐаÑÑи L<Mojo::Base>.
=head2 ÐÑиÑÐ¸Ð½Ñ Ð¿Ð°ÑÑей
1. ÐÐТ!!NO!!!1111 Ðобавление пÑÑей в @INC;
2. РазÑеÑÐµÐ½Ñ Ñ
азÑ/аÑÑибÑÑÑ Ð½Ðµ ÑолÑко лаÑиниÑей;
=head1 SYNOPSIS
ÐÐТ!!NO!!!1111 This module provide a extended form for add extra lib directories to perl's search path. See L<lib>
ÐÐТ!!NO!!!1111 use Mojo::Base::Che -lib, qw(rel/path/lib /abs/path/lib);
ÐÐТ!!NO!!!1111 use Mojo::Base::Che -lib, ['lib1', 'lib2'];
ÐÐТ!!NO!!!1111 use Mojo::Base::Che '-lib:lib1:lib2;lib3';
ÐÐТ!!NO!!!1111 use Mojo::Base::Che -strict, qw(-lib lib1 lib2);
ÐÐТ!!NO!!!1111 use Mojo::Base::Che qw(-base -lib lib1 lib2);
ÐÐТ!!NO!!!1111 use Mojo::Base::Che 'SomeBaseClass', qw(-lib lib1 lib2);
use lib 'lib';
use Mojo::Base 'Foo';
use Mojo::Base::Che; # apply patch
# GLORY utf names allow
has [qw(âÑ
аза âмаза)];
ÐÐТ!!NO!!!1111 For relative lib path will use L<FindBin> module and C<$FindBin::Bin> is prepends to that lib.
ÐÐТ!!NO!!!1111 Libs always applied first even its last on flags list.
=head1 SEE ALSO
( run in 2.013 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )