package SQL::Translator::Schema::Object;
-# ----------------------------------------------------------------------
-# $Id: Object.pm,v 1.1 2004-11-04 16:29:56 grommit Exp $
-# ----------------------------------------------------------------------
-# Copyright (C) 2002-4 SQLFairy Authors
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; version 2.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-# 02111-1307 USA
-# -------------------------------------------------------------------
-
-=pod
-
=head1 NAME
-SQL::Translator::Schema::Object - Base class SQL::Translator Schema objects.
+SQL::Translator::Schema::Object - Base class for SQL::Translator schema objects
=head1 SYNOPSIS
-=head1 DESCSIPTION
+ package SQL::Translator::Schema::Foo;
+ use Moo;
+ extends 'SQL::Translator::Schema::Object';
-Doesn't currently provide any functionaliy apart from sub classing
-L<Class::Base>. Here to provide a single place to impliment global Schema
-object functionality.
+=head1 DESCRIPTION
-=cut
+Base class for Schema objects. A Moo class consuming the following
+roles.
-use strict;
-use Class::Base;
-use base 'Class::Base';
+=over
-use vars qw[ $VERSION ];
+=item L<SQL::Translator::Role::Error>
-$VERSION = sprintf "%d.%02d", q$Revision: 1.1 $ =~ /(\d+)\.(\d+)/;
+Provides C<< $obj->error >>, similar to L<Class::Base>.
+=item L<SQL::Translator::Role::BuildArgs>
-1;
+Removes undefined constructor arguments, for backwards compatibility.
-# ----------------------------------------------------------------------
+=item L<SQL::Translator::Schema::Role::Extra>
-=pod
+Provides an C<extra> attribute storing a hashref of arbitrary data.
-=head1 SEE ALSO
+=item L<SQL::Translator::Schema::Role::Compare>
-=head1 TODO
+Provides an C<< $obj->equals($other) >> method for testing object
+equality.
-=head1 BUGS
+=back
-=head1 AUTHOR
+=cut
-Ken Y. Clark E<lt>kclark@cpan.orgE<gt>, Mark Addison E<lt>mark.addison@itn.co.ukE<gt>
+use Moo;
-=cut
+with qw(
+ SQL::Translator::Role::Error
+ SQL::Translator::Role::BuildArgs
+ SQL::Translator::Schema::Role::Extra
+ SQL::Translator::Schema::Role::Compare
+);
+
+1;