[Catalyst-dev] Catalyst plugin
Octavian Rasnita
orasnita at gmail.com
Sun Oct 5 12:23:26 BST 2008
From: "Matt S Trout" <dbix-class at trout.me.uk>
>> I thought that if the mail message is created with Mail::Builder, the
>> name Catalyst::View::Mail could be a good name for the module.
>
> No no no no no no no.
>
> Having a C::V::Email -and- a C::V::Mail will confuse the shit out of
> newbies
> to no gain. Please, please don't do that.
Ok, I won't do that. Using some suggestions from the list and because I have
seen that the interface for accessing a model is nicer, I think I will made
it a model.
So it will be named C::M::Email or C::M::Mail.
This won't confuse the beginners, not only because C::V::Email is a view and
this would be a model, but because the interfaces will be totally different
(because one is a view and the other a model).
In this case, sending an email would be an action just like when saving data
into a database and I hope I could make the interface to look like:
$c->model("Email")->send(from => $from, to => $to, subject => $subject,
htmltext => $html);
Of course, if the old users will have these parameters in
$c->stash->{email}, I hope I will make C::M::Email to be able to be used
also as:
$c->model("Email")->send(@{$c->stash->{email}});
instead of
$c->forward($c->view("Email"));
Actually, I already started to make C::M::Email and it also works, but
unfortunately I can get the parameters only from the MyApp.pm configuration
and from the controller when doing $c->model("Email")->send(...).
But I don't know how to get (in C::M::Email) the parameters set in
MyApp::Model::Email using:
__PACKAGE__->config(
mailer_args => ['SMTP', Host => 'smtp.host.com'],
from => ['me at host.com', 'My Name'],
);
They are not taken into consideration...
I have tried with:
sub new {
my $self = shift;
my ( $c ) = @_;
$self = $self->NEXT::new( @_ );
#For the moment I don't know why I should use the line above...
my $settings = $c->config->{'Model::Email'};
}
Thank you.
Octavian
More information about the Catalyst-dev
mailing list