From: Christopher H. Laco Date: Mon, 25 Jun 2007 01:49:32 +0000 (+0000) Subject: Converted to Class::Accessor::Grouped after mk_classdata snafu in DBIC 0.08 X-Git-Tag: v0.02000~1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class-UUIDColumns.git;a=commitdiff_plain;h=c5249bacf65843cfc38c2b6c682ecc576fdd8e76;hp=f65e45867d053ef4d4a587df79bee1c04c352f5a Converted to Class::Accessor::Grouped after mk_classdata snafu in DBIC 0.08 uuid_columns now also returns the list of columns insert now uses uuid_columns instead of internal list --- diff --git a/Changes b/Changes index a303cd3..c0265ef 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,11 @@ Revision history for DBIx::Class::UUIDColumns +0.02000 Sun June 24 21:09:35 2007 + - Converted to Class::Accessor::Grouped after mk_classdata + snafu in DBIC 0.08 + - uuid_columns now also returns the list of columns + - insert now uses uuid_columns instead of internal list + 0.01001 Sat May 05 20:01:13 2007 - RT#22364 (ASH) hopefully fixed with updated prereq - Added Data::GUID support diff --git a/lib/DBIx/Class/UUIDColumns.pm b/lib/DBIx/Class/UUIDColumns.pm index 65671e4..82fe68a 100644 --- a/lib/DBIx/Class/UUIDColumns.pm +++ b/lib/DBIx/Class/UUIDColumns.pm @@ -1,27 +1,32 @@ package DBIx::Class::UUIDColumns; - use strict; use warnings; - use vars qw($VERSION); -use base qw/DBIx::Class/; -__PACKAGE__->mk_classdata( 'uuid_auto_columns' => [] ); -__PACKAGE__->mk_classdata( 'uuid_maker' ); -__PACKAGE__->uuid_class( __PACKAGE__->_find_uuid_module ); +BEGIN { + use base qw/DBIx::Class Class::Data::Accessor/; + + __PACKAGE__->mk_group_accessors('inherited', qw/uuid_auto_columns uuid_maker/); +}; +__PACKAGE__->uuid_class(__PACKAGE__->_find_uuid_module); # Always remember to do all digits for the version even if they're 0 # i.e. first release of 0.XX *must* be 0.XX000. This avoids fBSD ports # brain damage and presumably various other packaging systems too -$VERSION = '0.01001'; +$VERSION = '0.02000'; sub uuid_columns { my $self = shift; - for (@_) { - $self->throw_exception("column $_ doesn't exist") unless $self->has_column($_); - } - $self->uuid_auto_columns(\@_); + + if (scalar @_) { + for (@_) { + $self->throw_exception("column $_ doesn't exist") unless $self->has_column($_); + } + $self->uuid_auto_columns(\@_); + }; + + return $self->uuid_auto_columns || []; } sub uuid_class { @@ -44,7 +49,7 @@ sub uuid_class { sub insert { my $self = shift; - for my $column (@{$self->uuid_auto_columns}) { + for my $column (@{$self->uuid_columns}) { $self->store_column( $column, $self->get_uuid ) unless defined $self->get_column( $column ); } @@ -130,7 +135,7 @@ Inserts a new uuid string into each column in L. =head2 uuid_columns -Takes a list of columns to be filled with uuids during insert. +Gets/sets the list of columns to be filled with uuids during insert. __PACKAGE__->uuid_columns('artist_id');