NAME
PGObject::Util::DBMethod - Declarative stored procedure <-> object mappings for the PGObject Framework
VERSION
Version 1.01.000
SYNOPSIS
Without PGObject::Util::DBobject, you would:
sub
mymethod {
my
(
$self
) =
@_
;
return
$self
->call_dbmethod(
funcname
=>
'foo'
);
}
With this you'd do this instead:
dbmethod
mymethod
=> (
funcname
=>
'foo'
);
EXPORT
This exports only dbmethod, which it always exports.
SUBROUTINES/METHODS
dbmethod
use as dbmethod (name => (default_arghash))
For example:
package
MyObject;
dbmethod
save
=> (
strict_args
=> 0,
funcname
=>
'save_user'
,
funcschema
=>
'public'
,
args
=> {
admin
=> 0 },
);
$MyObject
->save(
args
=> {
username
=>
'foo'
,
password
=>
'bar'
});
Special arguments are:
- arg_lit
-
It set must point to a hashref. Used to allow mapping of function arguments to arg hash elements. If this is set then funcname, funcschema, etc, cannot be overwritten on the call.
- strict_args
-
If true, args override args provided by user.
- returns_objects
-
If true, bless returned hashrefs before returning them.
- merge_back
-
If true, merges the first record back to the $self at the end before returning, and returns $self. Note this is a copy only one layer deep which is fine for the use case of merging return values from the database into the current object.
AUTHOR
Chris Travers, <chris.travers at gmail.com>
BUGS
Please report any bugs or feature requests to bug-pgobject-util-dbmethod at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=PGObject-Util-DBMethod. 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 PGObject::Util::DBMethod
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
http://rt.cpan.org/NoAuth/Bugs.html?Dist=PGObject-Util-DBMethod
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2014 Chris Travers.
This program is released under the following license: BSD