This is an automated email from the git hooks/post-receive script.

kanashiro-guest pushed a commit to branch master
in repository carton.

commit eacd7dc8a4d80c3bfacfd0c5e7b15bbfac4d8788
Author: Tatsuhiko Miyagawa <miyag...@bulknews.net>
Date:   Mon Jun 3 23:57:08 2013 +0900

    rewrite dumper code
---
 lib/Carton/CLI.pm | 38 +++++++++++++++++++++-----------------
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/lib/Carton/CLI.pm b/lib/Carton/CLI.pm
index 2f4d671..10dfcd9 100644
--- a/lib/Carton/CLI.pm
+++ b/lib/Carton/CLI.pm
@@ -264,29 +264,33 @@ sub cmd_tree {
     my $cpanfile = Module::CPANfile->load($self->find_cpanfile);
     my $prereqs = $cpanfile->prereqs;
 
-    my $level = 0;
-    $self->dump_tree($lock, undef, $prereqs, $level);
+    my $dumper = $self->_make_dumper($lock);
+    $dumper->(undef, $prereqs, 0);
 }
 
-sub dump_tree {
-    my($self, $lock, $name, $prereqs, $level) = @_;
+sub _make_dumper {
+    my($self, $lock) = @_;
 
-    my $req = CPAN::Meta::Requirements->new;
-    $req->add_requirements($prereqs->requirements_for($_, 'requires'))
-      for qw( configure build runtime test);
+    my $dumper; $dumper = sub {
+        my($name, $prereqs, $level) = @_;
 
-    if ($name) {
-        $self->print( (" " x ($level - 1)) . "$name\n" );
-    }
+        my $req = CPAN::Meta::Requirements->new;
+        $req->add_requirements($prereqs->requirements_for($_, 'requires'))
+          for qw( configure build runtime test);
 
-    my $requirements = $req->as_string_hash;
-    while (my($module, $version) = each %$requirements) {
-        if (my $dependency = $lock->find($module)) {
-            $self->dump_tree($lock, $dependency->dist, $dependency->prereqs, 
$level + 1);
-        } else {
-            # TODO: probably core, what if otherwise?
+        if ($name) {
+            $self->print( (" " x ($level - 1)) . "$name\n" );
         }
-    }
+
+        my $requirements = $req->as_string_hash;
+        while (my($module, $version) = each %$requirements) {
+            if (my $dependency = $lock->find($module)) {
+                $dumper->($dependency->dist, $dependency->prereqs, $level + 1);
+            } else {
+                # TODO: probably core, what if otherwise?
+            }
+        }
+    };
 }
 
 sub cmd_check {

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/carton.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to