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';
=cut
-class_has 'composed_schema' => (is => 'rw', isa => 'DBIx::Class::Schema');
-
has 'schema' => (is => 'rw', isa => 'DBIx::Class::Schema');
has 'schema_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