DBIx::Class::InflateColumn::Object::Enum - Allows a DBIx::Class user to define a Object::Enum column
Version 0.03
Load this module via load_components and utilize is_enum and values property to define Enumuration columns via Object::Enum
package TableClass; use strict; use warnings; use base 'DBIx::Class'; __PACKAGE__->load_components(qw/InflateColumn::Object::Enum Core/); __PACKAGE__->table('testtable'); __PACKAGE__->add_columns( color => { data_type => 'varchar', is_enum => 1, extra => { list => [qw/red green blue/] } } color_native => { # works inline with native enum type data_type => 'enum', is_enum => 1, extra => { list => [qw/red green blue/] } } ); 1;
Now you may treat the column as an Object::Enum object.
my $table_rs = $db->resultset('TableClass')->create({ color => undef }); $table_rs->color->set_red; # sets color to red $table_rs->color->is_red; # would return true $table_rs->color->is_green; # would return false print $table_rs->color->value; # would print 'red' $table_rs->color->unset; # set the value to 'undef' or 'null' $table_rs->color->is_red; # returns false now
Internal chained method with "register_column" in DBIx::Class::Row. Users do not call this directly!
Jason M. Mills, <jmmills at cpan.org>
<jmmills at cpan.org>
Please report any bugs or feature requests to bug-dbix-class-inflatecolumn-object-enum at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBIx-Class-InflateColumn-Object-Enum. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-dbix-class-inflatecolumn-object-enum at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc DBIx::Class::InflateColumn::Object::Enum
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-Class-InflateColumn-Object-Enum
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/DBIx-Class-InflateColumn-Object-Enum
CPAN Ratings
http://cpanratings.perl.org/d/DBIx-Class-InflateColumn-Object-Enum
Search CPAN
http://search.cpan.org/dist/DBIx-Class-InflateColumn-Object-Enum
Object::Enum, DBIx::Class, DBIx::Class::InflateColumn::URI
Copyright 2008 Jason M. Mills, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install DBIx::Class::InflateColumn::Object::Enum, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DBIx::Class::InflateColumn::Object::Enum
CPAN shell
perl -MCPAN -e shell install DBIx::Class::InflateColumn::Object::Enum
For more information on module installation, please visit the detailed CPAN module installation guide.