App-Repository

 view release on metacpan or  search on metacpan

lib/App/Repository.pm  view on Meta::CPAN

        my $rep = $self->{context}->repository($repname);
        $table_def = $rep->get_table_def($realtable, $options);
    }
    elsif (defined $realtable && $realtable ne $table) {
        $table_def = $self->get_table_def($realtable, $options);
    }
    else {
        $self->_load_table_metadata($table) if (! defined $self->{table}{$table}{loaded});
        if ($options->{table_def}) {
            $table_def = $options->{table_def};
            App::Reference->overlay($table_def, $self->{table}{$table});
        }
        else {
            $table_def = $self->{table}{$table};
        }
    }
    &App::sub_exit($table_def) if ($App::trace);
    return($table_def);
}

#############################################################################

lib/App/Repository.pm  view on Meta::CPAN

    my ($table_def, $columns, $column, $column_def, $idx, $native_column);

    $table_def = $self->{table}{$table};
    if (!$table_def) {
        my $options = $self->{options};
        my $prefix = $options->{prefix};
        my $conf_type = $options->{conf_type} || "pl";
        my $table_file = "$prefix/etc/app/Repository/$self->{name}/$table.$conf_type";
        if (-r $table_file) {
            $table_def = App::Conf::File->create({ conf_file => $table_file });
            if ($table_def->{overlay}) {
                delete $table_def->{overlay};
                App::Reference->overlay($self->{context}{conf}, $table_def); # Caution. Use with care.
            }
            else {
                $self->{table}{$table} = $table_def;
            }
        }
    }

    $self->{table}{$table}{loaded} = 1;   # mark it as having been loaded

    return if (!defined $table_def);



( run in 0.309 second using v1.01-cache-2.11-cpan-49f99fa48dc )