DOKK / manpages / debian 12 / libpgobject-util-dbmethod-perl / PGObject::Util::DBMethod.3pm.en
PGObject::Util::DBMethod(3pm) User Contributed Perl Documentation PGObject::Util::DBMethod(3pm)

PGObject::Util::DBMethod - Declarative stored procedure <-> object mappings for the PGObject Framework

Version 1.01.000

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');

This exports only dbmethod, which it always exports.

use as dbmethod (name => (default_arghash))

For example:

  package MyObject;
  use PGObject::Utils::DBMethod;
  dbmethod save => (
                                 strict_args => 0,
                                    funcname => 'save_user', 
                                  funcschema => 'public',
                                        args => { admin => 0 },
  );
  $MyObject->save(args => {username => 'foo', password => 'bar'});

Special arguments are:

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.
If true, args override args provided by user.
If true, bless returned hashrefs before returning them.
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.

Chris Travers, "<chris.travers at gmail.com>"

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.

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

    <http://annocpan.org/dist/PGObject-Util-DBMethod>

  • CPAN Ratings

    <http://cpanratings.perl.org/d/PGObject-Util-DBMethod>

  • Search CPAN

    <http://search.cpan.org/dist/PGObject-Util-DBMethod/>

Copyright 2014 Chris Travers.

This program is released under the following license: BSD

2021-11-08 perl v5.32.1