<div>I am new to Catalyst, but have been successful at creating simple DBIC CRUD apps.&nbsp; Now, I am trying something different...&nbsp; I want to use an Archive::Tar::File object as a model.&nbsp; I have created my model as:</div>
<div>&nbsp;</div>
<div>package LogManager::Model::Tar;</div>
<div>
<p>use strict;<br>use warnings;<br>use base &#39;Catalyst::Model::Factory&#39;;</p>
<p>__PACKAGE__-&gt;config(<br>&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&gt; &#39;Archive::Tar::File&#39;,<br>&nbsp;&nbsp;&nbsp; constructor =&gt; &#39;new&#39;,<br>);</p>
<p>1;<br><br>The Archive::Tar::File constructor (new) requires a filename be passed e.g., new( file =&gt; $path ).&nbsp; In a controller, I have tried:</p>
<p>sub view : Local {<br>&nbsp;&nbsp;&nbsp; my ( $self, $c, $file ) = @_;</p>
<p>&nbsp;&nbsp;&nbsp; LogManager-&gt;config-&gt;{&#39;Model::Tar&#39;} = {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class =&gt; &#39;Archive::Tar::File&#39;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; args&nbsp; =&gt; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file =&gt; &quot;c:\\temp\\logs\\$file&quot;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp; };
<br>&nbsp;&nbsp;&nbsp; my $tarball = $c-&gt;model(&#39;LogManager::Tar&#39;); <br>&nbsp;&nbsp;&nbsp; if( $tarball ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my @items = $tarball-&gt;get_files;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $c-&gt;stash-&gt;{items} = @items;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $c-&gt;stash-&gt;{error_msg} = &quot;Couldn&#39;t instantiate LogManager::Tar model&quot;; 
<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; $c-&gt;stash-&gt;{template} = &#39;log/view.tt2&#39;;<br>}<br></p>
<p>The server started without error, and I called it with <u>&quot;</u><a href="http://localhost:3000/log/view/WEBCGI.usgap002.20071020093500.tar">http://localhost:3000/log/view/WEBCGI.usgap002.20071020093500.tar</a>&quot;
</p>
<p>I have, unsuccessfully,&nbsp;tried several other scenarios, but all I get is an undefined object, resulting in $c-&gt;stash-&gt;{error_msg}&nbsp;being set to&nbsp;&quot;Couldn&#39;t instantiate LogManager::Tar model&quot;.&nbsp; Any pointers in the right direction are greatly appreciated.
</p>
<p>BTW, Catalyst is and awesome framework!</p>
<p>Thanks,<br>Mike Peck<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:mpeck@pobox.com" target="_blank">mpeck@pobox.com</a></p></div>