DBIx::Class::InflateColumn::IP - Auto-create NetAddr::IP objects from columns.
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 => 'bigint', 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;
DBIx::Class::InflateColumn::IP supports a limited amount of auto-detection of the format based on the column type. If the type begins with int or bigint, it's assumed to be numeric, while inet and cidr (as used by e.g. PostgreSQL) are assumed to be cidr format.
int
bigint
inet
cidr
Gets/sets the address class that the columns should be inflated into. The default class is NetAddr::IP.
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.
$ip_class-
addr
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.
Dagfinn Ilmari Mannsåker, <ilmari at ilmari.org>
<ilmari at ilmari.org>
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.
bug-dbix-class-inflatecolumn-ip at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc DBIx::Class::InflateColumn::IP
You can also look for information at:
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/DBIx-Class-InflateColumn-IP
CPAN Ratings
http://cpanratings.perl.org/d/DBIx-Class-InflateColumn-IP
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-Class-InflateColumn-IP
Search CPAN
http://search.cpan.org/dist/DBIx-Class-InflateColumn-IP
DBIx::Class, NetAddr::IP
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:
Non-ASCII character seen before =encoding in 'Mannsåker,'. Assuming CP1252
To install DBIx::Class::InflateColumn::IP, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DBIx::Class::InflateColumn::IP
CPAN shell
perl -MCPAN -e shell install DBIx::Class::InflateColumn::IP
For more information on module installation, please visit the detailed CPAN module installation guide.