We have a Catalyst app where incidents can have attachments, and the
attachments are stored in the filesystem (MySql backend is lethargic for
in-DB binary blobs).
Right now we're using a package global for storing the file-path-root, but
obviously this should be handled via config somehow. Is there an elegant
way to use MyApp.conf to set up a file-path that can get to $self->config
consistently?
If we use
package MyApp::Schema::DB::Result::Incident;
#...
has 'config' => ( is => 'rw' );
#...
then in the Controller we have to inject something into $incident->config
manually at create-time like so:
package MyApp::Web::Controller::Incident;
#...
my $incident = $c->model('MyApp::Incident')->find({ id => $id });
$incident->config( $c->config );
But that only works in the context of a controller. If instead, we're
coming in from a related record, such as an attachment, then
$attachment->incident->config won't have any info, and no way to get it.
I can see where DBIx::Class::Schema::Config allows pre-configuring
credentials to connect to a database, but that's not what we're looking for
here.
Right now we have the file-path config stored in a global (yecch!) in the
Result class, but would much rather have it in myapp.conf somehow...
Clue stick welcome.
--
--
will trillich -- http://faq.serensoft.com/
"The truth is that many people set rules to keep
from making decisions." -- Mike Krzyzewski
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/