[ SEA-GHOST MINI SHELL]
package DBIx::Simple::Result::RowObject;
use base 'Object::Accessor';
sub new {
my ($class, %args) = @_;
my $self = $class->SUPER::new;
$self->mk_accessors(keys %args);
$self->$_( $args{$_} ) for keys %args;
return $self;
}
1;
=head1 NAME
DBIx::Simple::Result::RowObject - Simple result row object class
=head1 DESCRIPTION
This class is the default for the C<object> and C<objects> result object
methods. Mainly, it provides syntactic sugar at the expense of performance.
Instead of writing
my $r = $db->query('SELECT foo, bar FROM baz')->hash;
do_something_with $r->{foo}, $r->{bar};
you may write
my $r = $db->query('SELECT foo, bar FROM baz')->object;
do_something_with $r->foo, $r->bar;
This class is a subclass of Object::Accessor, which provides per-object (rather
than per-class) accessors. Your records must not have columns names like these:
* can
* ls_accessors
* ls_allow
* mk_accessor
* mk_clone
* mk_flush
* mk_verify
* new
* register_callback
* ___autoload
* ___callback
* ___debug
* ___error
* ___get
* ___set
And of course DESTROY and AUTOLOAD, and anything that new versions of
Object::Accessor might add.
=head1 DBIx::Simple::OO
DBIx::Simple::OO is a third party module by Jos Boumans that provided C<object>
and C<objects> to DBIx::Simple. Similar functionality is now built in, in part
inspired by DBIx::Simple:OO.
Using DBIx::Simple 1.33 or newer together with DBIx::Simple::OO 0.01 will
result in method name clash. DBIx::Simple::Result::RowObject was written to be
compatible with DBIx::Simple::OO::Item, except for the name, so C<isa> calls
still need to be changed.
In practice, DBIx::Simple 1.33 makes DBIx::Simple::OO obsolete.
=head1 AUTHOR
Juerd Waalboer <juerd@cpan.org> <http://juerd.nl/>
=head1 SEE ALSO
L<DBIx::Simple>
SEA-GHOST - SHELL CODING BY SEA-GHOST