Reinstate schema object base class
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Schema / Object.pm
index 856c511..ef0fc05 100644 (file)
@@ -1,64 +1,50 @@
 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;