Herkum has asked for the wisdom of the Perl Monks concerning the following question:
I was looking to DBIx::Class to work with my database. The one thing I would like to change is the accessor/mutators that it auto generates. Instead of the typical,
# Accessor method $object->username; # mutator method $object->username('bob');
I want to methods that begin with 'get_' or 'set_' (depending on their functionality).
# Accessor method $object->get_username; # mutator method $object->set_username('bob');
Has anyone done anything for this for DBIx::Class?
Update:
I posted to the DBIx mailing list and here is a solution provided by 'Matt Trout' which is what I think I will go with...
No, because we're perl programmers, not Java programmers :) But it's not hard - you want to override register_column. Something li +ke sub register_column { my $class = shift; my ($col, $info) = @_; $info->{accessor} = undef; $class->mk_group_ro_accessors($col => "get_$col"); $class->mk_group_wo_accessors($col => "set_$col"); $class->next::method(@_); } should do the trick fine.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: DBIx::Class creating get_* and set_* methods
by LTjake (Prior) on Feb 08, 2008 at 03:10 UTC | |
by Herkum (Parson) on Feb 08, 2008 at 05:23 UTC | |
|
Re: DBIx::Class creating get_* and set_* methods
by emazep (Priest) on Feb 08, 2008 at 06:39 UTC | |
by jrockway (Acolyte) on Feb 08, 2008 at 07:08 UTC | |
by emazep (Priest) on Feb 08, 2008 at 08:30 UTC | |
|
Re: DBIx::Class creating get_* and set_* methods
by peterdragon (Beadle) on Feb 08, 2008 at 07:56 UTC | |
|
Re: DBIx::Class creating get_* and set_* methods
by Khen1950fx (Canon) on Feb 08, 2008 at 12:37 UTC |