rename column_accessor_map -> col_accessor_map
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / Base.pm
index 48b6cd5..86cacf5 100644 (file)
@@ -25,7 +25,7 @@ use DBIx::Class ();
 use Class::Load 'load_class';
 use namespace::clean;
 
-our $VERSION = '0.07003';
+our $VERSION = '0.07007';
 
 __PACKAGE__->mk_group_ro_accessors('simple', qw/
                                 schema
@@ -40,7 +40,7 @@ __PACKAGE__->mk_group_ro_accessors('simple', qw/
                                 skip_relationships
                                 skip_load_external
                                 moniker_map
-                                column_accessor_map
+                                col_accessor_map
                                 custom_column_info
                                 inflect_singular
                                 inflect_plural
@@ -89,6 +89,7 @@ __PACKAGE__->mk_group_accessors('simple', qw/
                                 rel_collision_map
                                 real_dump_directory
                                 datetime_undef_if_invalid
+                                _result_class_methods
 /);
 
 =head1 NAME
@@ -309,7 +310,7 @@ together. Examples:
     stations_visited | StationVisited
     routeChange      | RouteChange
 
-=head2 column_accessor_map
+=head2 col_accessor_map
 
 Same as moniker_map, but for column accessor names.  If a coderef is
 passed, the code is called with arguments of
@@ -563,6 +564,10 @@ by L<DBIx::Class::Schema::Loader>.
 sub new {
     my ( $class, %args ) = @_;
 
+    if (exists $args{column_accessor_map}) {
+        $args{col_accessor_map} = delete $args{column_accessor_map};
+    }
+
     my $self = { %args };
 
     # don't lose undef options
@@ -1576,33 +1581,32 @@ sub _make_src_class {
     $self->_inject($table_class, @{$self->additional_base_classes});
 }
 
-{
-    my %result_methods;
-
-    sub _is_result_class_method {
-        my ($self, $name) = @_;
+sub _is_result_class_method {
+    my ($self, $name) = @_;
 
-        %result_methods || do {
-            my @methods;
-            my $base       = $self->result_base_class || 'DBIx::Class::Core';
-            my @components = map { /^\+/ ? substr($_,1) : "DBIx::Class::$_" } @{ $self->components || [] };
+    if (not $self->_result_class_methods) {
+        my (@methods, %methods);
+        my $base       = $self->result_base_class || 'DBIx::Class::Core';
+        my @components = map { /^\+/ ? substr($_,1) : "DBIx::Class::$_" } @{ $self->components || [] };
 
-            for my $class ($base, @components, $self->use_moose ? 'Moose::Object' : ()) {
-                load_class $class;
+        for my $class ($base, @components, $self->use_moose ? 'Moose::Object' : ()) {
+            load_class $class;
 
-                push @methods, @{ Class::Inspector->methods($class) || [] };
-            }
+            push @methods, @{ Class::Inspector->methods($class) || [] };
+        }
 
-            push @methods, @{ Class::Inspector->methods('UNIVERSAL') };
+        push @methods, @{ Class::Inspector->methods('UNIVERSAL') };
 
-            @result_methods{@methods} = ();
+        @methods{@methods} = ();
 
-            # futureproof meta
-            $result_methods{meta} = undef;
-        };
+        # futureproof meta
+        $methods{meta} = undef;
 
-        return exists $result_methods{$name};
+        $self->_result_class_methods(\%methods);
     }
+    my $result_methods = $self->_result_class_methods;
+
+    return exists $result_methods->{$name};
 }
 
 sub _resolve_col_accessor_collisions {
@@ -1638,7 +1642,7 @@ EOF
     }
 }
 
-# use the same logic to run moniker_map, column_accessor_map, and
+# use the same logic to run moniker_map, col_accessor_map, and
 # relationship_name_map
 sub _run_user_map {
     my ( $self, $map, $default_code, $ident, @extra ) = @_;
@@ -1676,7 +1680,7 @@ sub _make_column_accessor_name {
     my ($self, $column_name, $column_context_info ) = @_;
 
     my $accessor = $self->_run_user_map(
-        $self->column_accessor_map,
+        $self->col_accessor_map,
         sub { $self->_default_column_accessor_name( shift ) },
         $column_name,
         $column_context_info,