Scroll to navigation

Devel::Declare::Interface(3pm) User Contributed Perl Documentation Devel::Declare::Interface(3pm)

NAME

Devel::Declare::Interface - Interface to Devel-Declare parsers.

DESCRIPTION

A higher level interface to Devel-Declare. This is the package you will interact with the most when using Devel::Declare::Parser.

SYNOPSIS

    package My::Keyword::Method;
    use strict;
    use warnings;
    use Devel::Declare::Parser;
    # Look at Exporter-Declare to have most of this done for you.
    sub import {
        my $class = shift;
        my $destination = caller;
        enhance( $destination, "make_method", "method" );
        no strict 'refs';
        *{ $destination . '::make_method' } = \&my_keyword;
    }
    sub make_method {
        my ( $name, $code ) = @_;
        my $dest = caller;
        no strict 'refs';
        *{ $destination . '::' . $name } = $code;
    }
    1;

API

The following functions are all exported by default.

Register a parser under a short name. If $class is not provided caller will be used.
Get the parser class by short name.
Make $name a keyword in $dest_class that uses $parser. $parser can be a short name or class name. $type defaults to 'const'.

FENNEC PROJECT

This module is part of the Fennec project. See Fennec for more details. Fennec is a project to develop an extendable and powerful testing framework. Together the tools that make up the Fennec framework provide a potent testing environment.

The tools provided by Fennec are also useful on their own. Sometimes a tool created for Fennec is useful outside the greator framework. Such tools are turned into their own projects. This is one such project.

The primary Fennec project that ties them all together.

AUTHORS

Chad Granum exodist7@gmail.com

COPYRIGHT

Copyright (C) 2010 Chad Granum

Devel-Declare-Interface is free software; Standard perl licence.

Devel-Declare-Parser is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.

2022-06-13 perl v5.34.0