Mark Zealey wrote:
Hi there,

I'm basically wanting to write a simple log function which logs hits on my website as entries in a database (automatically adding $c->user->{id} and $c->req->referrer etc), but to do so I want to use a model (I think). Any ideas how I can just say $c->model('Log')->info("foo") and automatically get $c passed in? I think I could have sth like:

package MyApp::Model::Log;
use base 'Catalyst::Model';

my $last_c;

sub ACCEPT_CONTEXT {
        my ($self, $c) = @_;
        $last_c = $c;
}

sub info {
        my ($self, $msg) = @_
        my $c = $last_c;
        ...
}

but this seems pretty messy...

Mark


Very very *VERY* bad idea.

__PACKAGE__->mk_accessors(context);

sub ACCEPT_CONTEXT {
  my ($self, $c, @args) = @_;

  my $new = bless({ %$self }, ref $self);
  $new->context($c);
  return $new;
}


Something like the above instead.

Ash

_______________________________________________
List: Catalyst@lists.rawmode.org
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/
Dev site: http://dev.catalyst.perl.org/

Reply via email to