# user_logger_model->submit({type => "player."}) sub submit { my ($self, $info) = @_; my $tag = $info->{type} or Carp::croak('"type" attribute is required in action log'); $info->{uid} = $self->user->id; my $code = sub { models('logger')->post_action($tag, $info) }; # トランザクションの中にいる場合はhookに登録する if (models('Schema')->storage->transaction_depth) { models('Schema')->storage->add_txn_end_hook($code); return; } # トランザクション外ならそのまま投げる $code->(); }
こういうの作ったけど、名前が微妙な感じがする。