Initial Commit
This commit is contained in:
75
database/perl/vendor/lib/DBIx/Simple/Result/RowObject.pm
vendored
Normal file
75
database/perl/vendor/lib/DBIx/Simple/Result/RowObject.pm
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
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>
|
||||
Reference in New Issue
Block a user