From: Rafael Kitover Date: Fri, 22 May 2009 05:13:12 +0000 (+0000) Subject: DBIC::Schema - remove MX::ClassAttribute X-Git-Tag: v0.26~29 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Model-DBIC-Schema.git;a=commitdiff_plain;h=50f488ec63095591670107baa110ade0b2d8f67a DBIC::Schema - remove MX::ClassAttribute --- diff --git a/Makefile.PL b/Makefile.PL index 6a78820..0e9596e 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -7,7 +7,6 @@ requires 'DBIx::Class' => '0.08102'; requires 'Catalyst::Runtime' => '5.80003'; requires 'Moose'; requires 'Moose::Autobox'; -requires 'MooseX::ClassAttribute'; requires 'MooseX::Types'; requires 'MooseX::Object::Pluggable' => '0.0011'; requires 'namespace::clean'; diff --git a/lib/Catalyst/Model/DBIC/Schema.pm b/lib/Catalyst/Model/DBIC/Schema.pm index 3a2d431..3d709b9 100644 --- a/lib/Catalyst/Model/DBIC/Schema.pm +++ b/lib/Catalyst/Model/DBIC/Schema.pm @@ -381,8 +381,6 @@ Used often for debugging and controlling transactions. =cut -class_has 'composed_schema' => (is => 'rw', isa => 'DBIx::Class::Schema'); - has 'schema' => (is => 'rw', isa => 'DBIx::Class::Schema'); has 'schema_class' => ( @@ -517,6 +515,20 @@ sub _reset_cursor_class { } } +{ + my %COMPOSED_CACHE; + + sub composed_schema { + my $self = shift; + my $class = $self->_original_class_name; + my $store = \$COMPOSED_CACHE{$class}{$self->schema_class}; + + $$store = shift if @_; + + return $$store + } +} + __PACKAGE__->meta->make_immutable; =head1 SEE ALSO