On Mon, May 21, 2007 at 10:17:21AM -0400, Christopher H. Laco wrote:
> Msts Vox post about monkey patching reminded me this morning that I
> needed to put this somewhere:
> 
> > *DBIx::Class::Row::get_inflated_columns =3D sub {
> > my $self =3D shift;
> >=20
> > return map {$_ =3D> $self->$_} $self->columns;
> > };
> 
> 
> I stuffed it into my DBIC provider just to try it on for size.
> 
> Now, I can put this into a base class and have all my schema classes
> inherit from that. Sure, it's so easy, a cave man can do it. But I'm not
> the first, nor will I be the last to write these three lines of code and
> inherit a base classes for source classes just to do this very thing.
> 
> Can we just put this in DBIC already?

Sure, but it has to obey ->{accessor} (and you'll need to patch inflate_column
to while you're there) and there'll need to be tests.

Oh, and how do you propose to handle people wanting rels as well?

Or non-column attributes? (c.f. Oleg's horrible hack because he wanted to
use get_columns on non-column things)

-- 
      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.shadowcatsystems.co.uk/ 

_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/

Reply via email to