On Mon, Sep 03, 2007 at 01:22:49PM +0100, Pedro Melo wrote:
> Hi,
> 
> I'm using a "fat model" approach in a small project and one thing  
> that keeps popping up is class methods.
> 
> For example, I usually have a can_edit() method in a base class that  
> all my sources use. This allows me to do something like this:
> 
>   $schema->resultset('Books')->find($id)->can_edit($current_user);
> 
> The can_edit() method will receive as "self" the Book with the $id,  
> and it will just work.
> 
> But if I want to write a can_create(), I do something like:
> 
> $schema->resultset('Books')->->can_create($current_user);
> 
> or like this
> 
> $schema->resultset('Books')->result_class->can_create($current_user);
> 
> The second one is longer but easier to do because it doesn't require  
> me to create a ResultSet class for each source.
> 
> Any common, more elegant, solution to this problems?

Creating the resultset class is both correct and elegant.

See load_namespaces for a way to save a bit of typing.

-- 
      Matt S Trout       Need help with your Catalyst or DBIx::Class project?
   Technical Director    Want a managed development or deployment platform?
 Shadowcat Systems Ltd.  Contact mst (at) shadowcatsystems.co.uk for a quote
http://chainsawblues.vox.com/                    http://www.shadowcat.co.uk/ 

_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]

Reply via email to