The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DBIx::Class::InflateColumn::IP - Auto-create NetAddr::IP objects from columns.

SYNOPSIS

Load this component and declare columns as IP addresses with the appropriate format.

    package Host;
    __PACKAGE__->load_components(qw/InflateColumn::IP Core/);
    __PACKAGE__->add_columns(
        ip_address => {
            data_type => 'integer',
            is_nullable => 0,
            is_ip => 1,
            ip_format => 'numeric',
        }
    );

    package Network;
    __PACKAGE__->load_components(qw/InflateColumn::IP Core/);
    __PACKAGE__->add_columns(
        address => {
            data_type => 'varchar',
            size        => 18
            is_nullable => 0,
            is_ip => 1,
            ip_format => 'cidr',
        }
    );

Then you can treat the specified column as a NetAddr::IP object.

    print 'IP address: ', $host->ip_address->addr;
    print 'Address type: ', $host->ip_address->iptype;

METHODS

ip_class

Arguments: $class

Gets/sets the address class that the columns should be inflated into. The default class is NetAddr::IP.

ip_format

Arguments: $format

Gets/sets the name of the method used to deflate the address for the database. This must return a value suitable for $ip_class-new(); The default format is addr, which returns the address in dotted-quad notation. See "Methods" in NetAddr::IP for suitable values.

register_column

Chains with "register_column" in DBIx::Class::Row, and sets up IP address columns appropriately. This would not normally be called directly by end users.

AUTHOR

Dagfinn Ilmari Mannsåker, <ilmari at ilmari.org>

BUGS

Please report any bugs or feature requests to bug-dbix-class-inflatecolumn-ip at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBIx-Class-InflateColumn-IP. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc DBIx::Class::InflateColumn::IP

You can also look for information at:

SEE ALSO

DBIx::Class, NetAddr::IP

COPYRIGHT & LICENSE

Copyright 2007 Dagfinn Ilmari Mannsåker, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 107:

Non-ASCII character seen before =encoding in 'Mannsåker,'. Assuming UTF-8