File-RsyBak
view release on metacpan or search on metacpan
script/rsybak view on Meta::CPAN
# } else {
# return "(?:(?$mod-)$pat)";
# }
# }
#}
#
#1;
#
#__END__
#
### Role/Tiny.pm ###
#package Role::Tiny;
#
#sub _getglob { \*{$_[0]} }
#sub _getstash { \%{"$_[0]::"} }
#
#use strict;
#use warnings;
#
#our $VERSION = '2.000005';
#$VERSION = eval $VERSION;
#
#our %INFO;
#our %APPLIED_TO;
#our %COMPOSED;
#our %COMPOSITE_INFO;
#our @ON_ROLE_CREATE;
#
#
#BEGIN {
# *_WORK_AROUND_BROKEN_MODULE_STATE = "$]" < 5.009 ? sub(){1} : sub(){0};
# *_MRO_MODULE = "$]" < 5.010 ? sub(){"MRO/Compat.pm"} : sub(){"mro.pm"};
#}
#
#sub croak {
# require Carp;
# no warnings 'redefine';
# *croak = \&Carp::croak;
# goto &Carp::croak;
#}
#
#sub Role::Tiny::__GUARD__::DESTROY {
# delete $INC{$_[0]->[0]} if @{$_[0]};
#}
#
#sub _load_module {
# (my $proto = $_[0]) =~ s/::/\//g;
# $proto .= '.pm';
# return 1 if $INC{$proto};
# return 1 if grep !/::$/, keys %{_getstash($_[0])||{}};
# my $guard = _WORK_AROUND_BROKEN_MODULE_STATE
# && bless([ $proto ], 'Role::Tiny::__GUARD__');
# require $proto;
# pop @$guard if _WORK_AROUND_BROKEN_MODULE_STATE;
# return 1;
#}
#
#sub import {
# my $target = caller;
# my $me = shift;
# strict->import;
# warnings->import;
# $me->_install_subs($target);
# return if $me->is_role($target);
# $INFO{$target}{is_role} = 1;
# my $stash = _getstash($target);
# my @not_methods = (map { *$_{CODE}||() } grep !ref($_), values %$stash);
# @{$INFO{$target}{not_methods}={}}{@not_methods} = @not_methods;
# $APPLIED_TO{$target} = { $target => undef };
# foreach my $hook (@ON_ROLE_CREATE) {
# $hook->($target);
# }
#}
#
#sub _install_subs {
# my ($me, $target) = @_;
# return if $me->is_role($target);
# foreach my $type (qw(before after around)) {
# *{_getglob "${target}::${type}"} = sub {
# push @{$INFO{$target}{modifiers}||=[]}, [ $type => @_ ];
# return;
# };
# }
# *{_getglob "${target}::requires"} = sub {
# push @{$INFO{$target}{requires}||=[]}, @_;
# return;
# };
# *{_getglob "${target}::with"} = sub {
# $me->apply_roles_to_package($target, @_);
# return;
# };
#}
#
#sub role_application_steps {
# qw(_install_methods _check_requires _install_modifiers _copy_applied_list);
#}
#
#sub apply_single_role_to_package {
# my ($me, $to, $role) = @_;
#
# _load_module($role);
#
# croak "This is apply_role_to_package" if ref($to);
# croak "${role} is not a Role::Tiny" unless $me->is_role($role);
#
# foreach my $step ($me->role_application_steps) {
# $me->$step($to, $role);
# }
#}
#
#sub _copy_applied_list {
# my ($me, $to, $role) = @_;
# @{$APPLIED_TO{$to}||={}}{keys %{$APPLIED_TO{$role}}} = ();
#}
#
#sub apply_roles_to_object {
# my ($me, $object, @roles) = @_;
# croak "No roles supplied!" unless @roles;
# my $class = ref($object);
# bless($_[1], $me->create_class_with_roles($class, @roles));
#}
( run in 1.696 second using v1.01-cache-2.11-cpan-39bf76dae61 )