Scroll to navigation

PGObject::Util::DBMethod(3pm) User Contributed Perl Documentation PGObject::Util::DBMethod(3pm)

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;
  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.

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:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2014 Chris Travers.

This program is released under the following license: BSD

2021-11-08 perl v5.32.1