Replace many closure-based proxy methods with static qsubs
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / CDBICompat / Relationship.pm
index 55fff10..0614693 100644 (file)
@@ -4,10 +4,11 @@ package
 use strict;
 use warnings;
 
+use DBIx::Class::_Util 'quote_sub';
 
 =head1 NAME
 
-DBIx::Class::CDBICompat::Relationship
+DBIx::Class::CDBICompat::Relationship - Emulate the Class::DBI::Relationship object returned from meta_info()
 
 =head1 DESCRIPTION
 
@@ -23,20 +24,13 @@ my %method2key = (
     args            => 'args',
 );
 
+quote_sub __PACKAGE__ . "::$_" => "\$_[0]->{$method2key{$_}}"
+  for keys %method2key;
+
 sub new {
     my($class, $args) = @_;
-    
-    return bless $args, $class;
-}
 
-for my $method (keys %method2key) {
-    my $key = $method2key{$method};
-    my $code = sub {
-        $_[0]->{$key};
-    };
-    
-    no strict 'refs';
-    *{$method} = $code;
+    return bless $args, $class;
 }
 
 1;