add 'ALL' key for naming hash
Rafael Kitover [Mon, 24 Oct 2011 21:24:04 +0000 (17:24 -0400)]
Because I earlier added the 'force_ascii' parameter for the naming hash,
I now add the 'ALL' key to set 'relationships', 'monikers' and
'column_accessors' in one shot. This lets you do:

    naming => { ALL => 'v8', force_ascii => 1 }

lib/DBIx/Class/Schema/Loader/Base.pm

index 0af7c1d..1633327 100644 (file)
@@ -168,12 +168,26 @@ overwriting a dump made with an earlier version.
 
 The option also takes a hashref:
 
-    naming => { relationships => 'v8', monikers => 'v8' }
+    naming => {
+        relationships    => 'v8',
+        monikers         => 'v8',
+        column_accessors => 'v8',
+        force_ascii      => 1,
+    }
+
+or
+
+    naming => { ALL => 'v8', force_ascii => 1 }
 
 The keys are:
 
 =over 4
 
+=item ALL
+
+Set L</relationships>, L</monikers> and L</column_accessors> to the specified
+value.
+
 =item relationships
 
 How to name relationship accessors.
@@ -947,10 +961,16 @@ sub new {
             column_accessors => $naming_ver,
         };
     }
+    elsif (ref $self->naming eq 'HASH' && exists $self->naming->{ALL}) {
+        my $val = delete $self->naming->{ALL};
+
+        $self->naming->{$_} = $val
+            foreach qw/relationships monikers column_accessors/;
+    }
 
     if ($self->naming) {
-        for (values %{ $self->naming }) {
-            $_ = $CURRENT_V if $_ eq 'current';
+        foreach my $key (qw/relationships monikers column_accessors/) {
+            $self->naming->{$key} = $CURRENT_V if $self->naming->{$key} eq 'current';
         }
     }
     $self->{naming} ||= {};