Daje-Plugin-Tools

 view release on metacpan or  search on metacpan

lib/Daje/Document/Templates/Tools/Generate/Perl.pm  view on Meta::CPAN

#
# SYNOPSIS
# ========
#
#       use Daje::Plugin::[%- class_name -%]::Helpers;
#
#       my $class = Daje::Plugin::[%- class_name -%]::Helpers->new();
[%- FOREACH table IN tables %]
#       $app->helper(
#           [% project_name %]_[% table.table_name %] => sub {
#               state  $[% project_name %]_[% table.table_name %] = Daje::Database::Model::[%- table.class_name -%]->new(db => shift->pg->db)
#        });
[%- END -%]
#
#
# DESCRIPTION
# ===========
#
# Daje::Plugin::[%- class_name -%]::Routes is the standard routes
#
# METHODS

lib/Daje/Document/Templates/Tools/Generate/Perl.pm  view on Meta::CPAN

# It will be re-generated by Daje Tools again.
# <!-- Autogenerated file [%- date_time %] -->

our $VERSION = '0.01';

sub helpers($self, $app, $config) {

    [%- FOREACH table IN tables %]
    $app->helper(
        [% project_name %]_[% table.table_name %] => sub {
            state  $[% project_name %]_[% table.table_name %] = Daje::Database::Model::[%- table.class_name -%]->new(db => shift->pg->db)
        });
    [%- END -%]

}

1;
@@ routes

package Daje::Plugin::[%- class_name -%]::Routes;
use Mojo::Base -base, -signatures;

lib/Daje/Document/Templates/Tools/Generate/Perl.pm  view on Meta::CPAN

# Daje::Database::Model::Super::[%- class_name -%] - Daje db model
#
# SYNOPSIS
# ========
#
#
#       use Daje::Database::Model::Super::[%- class_name -%];
#
#       my $table = Daje::Database::Model::Super::[%- class_name -%]->new(db => $db);
#
#       my $result = $table->load_[%- project_name -%]_[%- table.table_name -%]_pkey($self, $[%- project_name -%]_[%- table.table_name -%]_pkey);
#
[%- FOREACH field IN fields -%]
[%- IF field.foreign_key %]
#       my $result = $table->load_[%- project_name -%]_[%- field.fieldname -%]_fkey($self, $[%- project_name -%]_[%- field.fieldname -%]_fkey);
#
[%- END -%]
[%- END -%]
#
#       my $result = $table->insert($self, $data);
#
#       $table->update($self, $data) ;
#
#
# DESCRIPTION

lib/Daje/Document/Templates/Tools/Generate/Perl.pm  view on Meta::CPAN

has 'mandatory' => '[%- FOREACH field IN fields -%]
[%- IF field.foreign_key && field.mandatory -%]
"[%- project_name -%]_[%- field.fieldname -%]_fkey",
[%- ELSIF field.mandatory -%]
"[%- field.fieldname -%]",
[%- END -%]
[%- END -%]';

[%- FOREACH field IN fields -%]
[%- IF field.foreign_key %]
async sub load_[%- project_name -%]_[%- field.fieldname -%]_fkey_p($self, $[%- project_name -%]_[%- field.fieldname -%]_fkey) {
    return $self->load_[%- project_name -%]_[%- field.fieldname -%]_fkey($[%- project_name -%]_[%- field.fieldname -%]_fkey);
}

sub load_[%- project_name -%]_[%- field.fieldname -%]_fkey($self, $[%- project_name -%]_[%- field.fieldname -%]_fkey) {
    return $self->load_fkey(
        $self->table_name, $self->fields(), "[%- project_name -%]_[%- field.fieldname -%]_fkey", $[%- project_name -%]_[%- field.fieldname -%]_fkey
    );
}
[%- END -%]
[%- END -%]

async sub load_[%- project_name -%]_[%- table.table_name -%]_pkey_p($self, $[%- project_name -%]_[%- table.table_name -%]_pkey) {
    return $self->load_[%- project_name -%]_[%- table.table_name -%]_pkey($[%- project_name -%]_[%- table.table_name -%]_pkey);
}

sub load_[%- project_name -%]_[%- table.table_name -%]_pkey($self, $[%- project_name -%]_[%- table.table_name -%]_pkey) {
    return $self->load_pk(
        $self->table_name, $self->fields(), $self->primary_key_name(), $[%- project_name -%]_[%- table.table_name -%]_pkey
    );
}

sub insert($self, $data) {
    my $result = $self->SUPER::insert(
        $self->table_name, $data, $self->primary_key_name
    );
    return $result;
}



( run in 0.871 second using v1.01-cache-2.11-cpan-5735350b133 )