[Jifty-commit] r1563 - in Jifty-DBI/trunk: lib/Jifty/DBI
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Thu Jul 13 17:46:10 EDT 2006
Author: audreyt
Date: Thu Jul 13 17:46:08 2006
New Revision: 1563
Modified:
Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm
Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm
Jifty-DBI/trunk/t/testmodels.pl
Log:
* Change the schema idiom yet again. It's now:
package Sample::Employee;
use Jifty::DBI::Schema;
use Jifty::DBI::Record schema {
column dexterity => type is 'integer';
column name => type is 'varchar';
};
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Record.pm Thu Jul 13 17:46:08 2006
@@ -79,6 +79,18 @@
}
+sub import {
+ my $class = shift;
+ my ($flag) = @_;
+ if ($class->isa(__PACKAGE__) and defined $flag and $flag eq '-base') {
+ my $descendant = (caller)[0];
+ no strict 'refs';
+ push @{$descendant . '::ISA'}, $class;
+ shift;
+ }
+ $class->SUPER::import(@_);
+}
+
=head2 id
Returns this row's primary key.
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm Thu Jul 13 17:46:08 2006
@@ -11,7 +11,7 @@
package Wifty::Model::Page;
use Jifty::DBI::Schema;
- use base 'Jifty::DBI::Record' => schema {
+ use Jifty::DBI::Record schema {
# ... your columns here ...
};
@@ -58,7 +58,11 @@
Takes a block with schema declarations. Unimports all helper functions after
executing the code block. Usually used at C<BEGIN> time via this idiom:
- use base 'Jifty::DBI::Record' => schema { ... };
+ use Jifty::DBI::Record schema { ... };
+
+If your application subclasses C<::Record>, then write this instead:
+
+ use MyApp::Record schema { ... };
=cut
@@ -85,7 +89,7 @@
undef *{"$from\::$sym"};
}
- return ();
+ return '-base';
}
=head2 column
Modified: Jifty-DBI/trunk/t/testmodels.pl
==============================================================================
--- Jifty-DBI/trunk/t/testmodels.pl (original)
+++ Jifty-DBI/trunk/t/testmodels.pl Thu Jul 13 17:46:08 2006
@@ -1,6 +1,6 @@
package Sample::Employee;
use Jifty::DBI::Schema;
-use base 'Jifty::DBI::Record' => schema {
+use Jifty::DBI::Record schema {
column dexterity => type is 'integer';
column name => type is 'varchar';
@@ -9,7 +9,7 @@
package Sample::Address;
use Jifty::DBI::Schema;
-use base 'Jifty::DBI::Record' => schema {
+use Jifty::DBI::Record schema {
column employee_id =>
refers_to Sample::Employee;
More information about the Jifty-commit
mailing list