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 )