VS-RuleEngine

 view release on metacpan or  search on metacpan

lib/VS/RuleEngine/Declare.pm  view on Meta::CPAN

    prehook
    rule
    run
    when
    with_args
    with_defaults
);

our $current_engine;

sub engine(&) {
    my ($sub, $name) = @_;

    my $engine = VS::RuleEngine::Engine->new();

    local $current_engine = $engine;
    $sub->();
    
    if (defined $name) {
        VS::RuleEngine::Engine->register_engine($name => $engine);
    }
    
    return $engine;
}

sub as($) {
    return $_[0];
}

sub does(&) {
    my $cv = shift;
    my $does = bless [$cv], "_Does";
    return $does;
}

{
    my %Classes;
    sub load_module($) {
        my $class = shift;
        if (!exists $Classes{$class}) {



( run in 0.686 second using v1.01-cache-2.11-cpan-49f99fa48dc )