Dancer::Deprecation - handle deprecation messages


Dancer documentation Contained in the Dancer distribution.

Index


Code Index:

NAME

Top

Dancer::Deprecation - handle deprecation messages

SYNOPSIS

Top

  Dancer::Deprecation->deprecated(
    feature => 'sub_name',
    version => '1.3000',
    reason  => '...',
  );

DESCRIPTION

Top

METHODS

deprecated

List of possible parameters:

feature name of the feature to deprecate
version from which version the feature is deprecated
message message to display
fatal if set to true, croak instead of carp
reason why is the feature deprecated

You can call the method with no arguments, and a default message using informations from caller will be build for you.

LICENSE

Top

This module is free software and is distributed under the same terms as Perl itself.

AUTHOR

Top

This module has been written by Alexis Sukrieh <sukria@sukria.net>

SEE ALSO

Top

Package::DeprecationManager


Dancer documentation Contained in the Dancer distribution.

package Dancer::Deprecation;

use strict;
use warnings;
use Carp qw/croak carp/;

sub deprecated {
    my ($class, %args) = @_;

    my ( $package, undef, undef, $sub ) = caller(1);

    unless ( defined $args{feature} ) {
        $args{feature} = $sub;
    }

    my $deprecated_at = defined $args{version} ? $args{version} : undef;

    my $msg;
    if ( defined $args{message} ) {
        $msg = $args{message};
    }
    else {
        $msg = "$args{feature} has been deprecated";
    }
    $msg .= " since version $deprecated_at" if defined $deprecated_at;
    $msg .= ". " . $args{reason} if defined $args{reason};

    croak($msg) if $args{fatal};
    carp($msg);
}

1;