use base qw/DBIx::Class::Row/;
+use DBIx::Class::_Util 'fail_on_internal_call';
+use namespace::clean;
+
=head1 NAME
DBIx::Class::PK - Primary Key class
=cut
-sub id {
- my ($self) = @_;
- $self->throw_exception( "Can't call id() as a class method" )
- unless ref $self;
- my @id_vals = $self->_ident_values;
- return (wantarray ? @id_vals : $id_vals[0]);
+sub id :DBIC_method_is_indirect_sugar {
+ DBIx::Class::_ENV_::ASSERT_NO_INTERNAL_INDIRECT_CALLS and fail_on_internal_call;
+
+ $_[0]->throw_exception( "Can't call id() as a class method" )
+ unless ref $_[0];
+
+ wantarray
+ ? $_[0]->_ident_values
+ : ($_[0]->_ident_values)[0] # FIXME - horrible horrible legacy crap
+ ;
}
sub _ident_values {
return \%cond;
}
-1;
-
-=head1 AUTHOR AND CONTRIBUTORS
+=head1 FURTHER QUESTIONS?
-See L<AUTHOR|DBIx::Class/AUTHOR> and L<CONTRIBUTORS|DBIx::Class/CONTRIBUTORS> in DBIx::Class
+Check the list of L<additional DBIC resources|DBIx::Class/GETTING HELP/SUPPORT>.
-=head1 LICENSE
+=head1 COPYRIGHT AND LICENSE
-You may distribute this code under the same terms as Perl itself.
+This module is free software L<copyright|DBIx::Class/COPYRIGHT AND LICENSE>
+by the L<DBIx::Class (DBIC) authors|DBIx::Class/AUTHORS>. You can
+redistribute it and/or modify it under the same terms as the
+L<DBIx::Class library|DBIx::Class/COPYRIGHT AND LICENSE>.
=cut
+1;