[Dbix-class] DBIx::Class creating get_* and set_* methods
Matt S Trout
dbix-class at trout.me.uk
Fri Feb 8 08:15:07 GMT 2008
On Thu, Feb 07, 2008 at 10:33:37PM -0700, Steve Kirkup wrote:
> Hello,
>
> I created a post on Perl Monks regarding this
> question(http://www.perlmonks.org/?node_id=666868) and someone referred
> to this mailing list.
>
> This was my post verbatim,
> -----------------------
>
> I was looking to DBIx::Class
> <http://search.cpan.org/search?mode=module&query=DBIx%3A%3AClass> 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?
No, because we're perl programmers, not Java programmers :)
But it's not hard - you want to override register_column. Something like
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.
--
Matt S Trout Need help with your Catalyst or DBIx::Class project?
Technical Director http://www.shadowcat.co.uk/catalyst/
Shadowcat Systems Ltd. Want a managed development or deployment platform?
http://chainsawblues.vox.com/ http://www.shadowcat.co.uk/servers/
More information about the DBIx-Class
mailing list