package DBIx::Class;
+# important to load early
+use DBIx::Class::_Util;
+
use strict;
use warnings;
# $VERSION declaration must stay up here, ahead of any other package
# declarations, as to not confuse various modules attempting to determine
# this ones version, whether that be s.c.o. or Module::Metadata, etc
-$VERSION = '0.082700_06';
+$VERSION = '0.082899_15';
$VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases
-use DBIx::Class::_Util;
use mro 'c3';
-use DBIx::Class::Optional::Dependencies;
-
use base qw/DBIx::Class::Componentised DBIx::Class::AccessorGroup/;
-use DBIx::Class::StartupCheck;
use DBIx::Class::Exception;
-__PACKAGE__->mk_group_accessors(inherited => '_skip_namespace_frames');
-__PACKAGE__->_skip_namespace_frames('^DBIx::Class|^SQL::Abstract|^Try::Tiny|^Class::Accessor::Grouped|^Context::Preserve');
-
-sub mk_classdata {
- shift->mk_classaccessor(@_);
-}
-
-sub mk_classaccessor {
- my $self = shift;
- $self->mk_group_accessors('inherited', $_[0]);
- $self->set_inherited(@_) if @_ > 1;
-}
+__PACKAGE__->mk_classaccessor( _skip_namespace_frames =>
+ '^DBIx::Class|^SQL::Abstract|^Try::Tiny|^Class::Accessor::Grouped|^Context::Preserve|^Moose::Meta::'
+);
sub component_base_class { 'DBIx::Class' }
-sub MODIFY_CODE_ATTRIBUTES {
- my ($class,$code,@attrs) = @_;
- $class->mk_classdata('__attr_cache' => {})
- unless $class->can('__attr_cache');
- $class->__attr_cache->{$code} = [@attrs];
- return ();
-}
-
-sub _attr_cache {
- my $self = shift;
- my $cache = $self->can('__attr_cache') ? $self->__attr_cache : {};
-
- return {
- %$cache,
- %{ $self->maybe::next::method || {} },
- };
-}
-
# *DO NOT* change this URL nor the identically named =head1 below
# it is linked throughout the ecosystem
sub DBIx::Class::_ENV_::HELP_URL () {
my $cd = $millennium_cds_rs->next; # SELECT ... FROM cds JOIN artists ...
my $cd_artist_name = $cd->artist->name; # Already has the data so no 2nd query
- # new() makes a Result object but doesnt insert it into the DB.
+ # new() makes a Result object but doesn't insert it into the DB.
# create() is the same as new() then insert().
my $new_cd = $schema->resultset('CD')->new({ title => 'Spoon' });
$new_cd->artist($cd->artist);
=item * Travis-CI log: L<https://travis-ci.org/dbsrgits/dbix-class/builds>
=for html
-↪ Stable branch CI status: <img src="https://secure.travis-ci.org/dbsrgits/dbix-class.png?branch=master"></img>
+↪ Bleeding edge dev CI status: <img src="https://secure.travis-ci.org/dbsrgits/dbix-class.png?branch=master"></img>
=back
=over
-ribasushi: Peter Rabbitson <ribasushi@cpan.org>
+B<ribasushi>: Peter Rabbitson <ribasushi@cpan.org>
(present day maintenance and controlled evolution)
-castaway: Jess Robinson <castaway@desert-island.me.uk>
+B<castaway>: Jess Robinson <castaway@desert-island.me.uk>
(lions share of the reference documentation and manuals)
-mst: Matt S Trout <mst@shadowcat.co.uk> (project founder -
+B<mst>: Matt S Trout <mst@shadowcat.co.uk> (project founder -
original idea, architecture and implementation)
=back