r44232 - in /branches/upstream/libmoosex-blessed-reconstruct-perl/current: Changes META.yml Makefile.PL SIGNATURE lib/MooseX/Blessed/Reconstruct.pm

ansgar-guest at users.alioth.debian.org ansgar-guest at users.alioth.debian.org
Fri Sep 18 11:05:59 UTC 2009


Author: ansgar-guest
Date: Fri Sep 18 11:05:49 2009
New Revision: 44232

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=44232
Log:
[svn-upgrade] Integrating new upstream version, libmoosex-blessed-reconstruct-perl (0.03)

Modified:
    branches/upstream/libmoosex-blessed-reconstruct-perl/current/Changes
    branches/upstream/libmoosex-blessed-reconstruct-perl/current/META.yml
    branches/upstream/libmoosex-blessed-reconstruct-perl/current/Makefile.PL
    branches/upstream/libmoosex-blessed-reconstruct-perl/current/SIGNATURE
    branches/upstream/libmoosex-blessed-reconstruct-perl/current/lib/MooseX/Blessed/Reconstruct.pm

Modified: branches/upstream/libmoosex-blessed-reconstruct-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-blessed-reconstruct-perl/current/Changes?rev=44232&op=diff
==============================================================================
--- branches/upstream/libmoosex-blessed-reconstruct-perl/current/Changes (original)
+++ branches/upstream/libmoosex-blessed-reconstruct-perl/current/Changes Fri Sep 18 11:05:49 2009
@@ -1,3 +1,6 @@
+0.03
+    - Class::MOP no longer returns the metaclass from load_class
+
 0.02
 	- Remove Class::Accessor from test suite (not having it as a dependency
 	  caused failures)

Modified: branches/upstream/libmoosex-blessed-reconstruct-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-blessed-reconstruct-perl/current/META.yml?rev=44232&op=diff
==============================================================================
--- branches/upstream/libmoosex-blessed-reconstruct-perl/current/META.yml (original)
+++ branches/upstream/libmoosex-blessed-reconstruct-perl/current/META.yml Fri Sep 18 11:05:49 2009
@@ -1,23 +1,25 @@
 --- #YAML:1.0
 name:               MooseX-Blessed-Reconstruct
-version:            0.02
+version:            0.03
 abstract:           ~
 author:  []
 license:            unknown
 distribution_type:  module
 configure_requires:
     ExtUtils::MakeMaker:  0
+build_requires:
+    ExtUtils::MakeMaker:  0
 requires:
-    Class::MOP:        0.66
+    Class::MOP:        0.93
     Data::Visitor:     0.21
-    Moose:             0
+    Moose:             0.9
     namespace::clean:  0
     Test::use::ok:     0
 no_index:
     directory:
         - t
         - inc
-generated_by:       ExtUtils::MakeMaker version 6.48
+generated_by:       ExtUtils::MakeMaker version 6.55_02
 meta-spec:
     url:      http://module-build.sourceforge.net/META-spec-v1.4.html
     version:  1.4

Modified: branches/upstream/libmoosex-blessed-reconstruct-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-blessed-reconstruct-perl/current/Makefile.PL?rev=44232&op=diff
==============================================================================
--- branches/upstream/libmoosex-blessed-reconstruct-perl/current/Makefile.PL (original)
+++ branches/upstream/libmoosex-blessed-reconstruct-perl/current/Makefile.PL Fri Sep 18 11:05:49 2009
@@ -13,8 +13,8 @@
 	PREREQ_PM    => {
 		'Test::use::ok' => 0,
 		'namespace::clean' => 0,
-		'Moose' => 0,
-		'Class::MOP' => 0.66,
+		'Moose' => 0.90,
+		'Class::MOP' => 0.93,
 		'Data::Visitor' => 0.21,
 	},
 );

Modified: branches/upstream/libmoosex-blessed-reconstruct-perl/current/SIGNATURE
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-blessed-reconstruct-perl/current/SIGNATURE?rev=44232&op=diff
==============================================================================
--- branches/upstream/libmoosex-blessed-reconstruct-perl/current/SIGNATURE (original)
+++ branches/upstream/libmoosex-blessed-reconstruct-perl/current/SIGNATURE Fri Sep 18 11:05:49 2009
@@ -14,17 +14,17 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 2f6fa369e51584218ebf3554a85555877790edd7 Changes
+SHA1 56d6ae71a8db4dc3a29442e03006ab391e896c4e Changes
 SHA1 78a468e5be41b2f15d15e6a989c94fba17c9a093 MANIFEST
 SHA1 190e9058eb9c6446a1a3f3ddf15b082f1ecde152 MANIFEST.SKIP
-SHA1 c08a87265b69c75d417699281563329fbcdb81f9 META.yml
-SHA1 ebac10cd7577a84ec38c669f13bc0de06be3bb5e Makefile.PL
-SHA1 030c2369c61d43c390a6ce05d80b418a2a115086 lib/MooseX/Blessed/Reconstruct.pm
+SHA1 b009f6fbbb8ce3eec6bc29b0b5715a0a661168c8 META.yml
+SHA1 c2629049084021b59ce2dd23019778f3fcee4958 Makefile.PL
+SHA1 ee675a0ed55083194c66f6a1d4ea55e680871ecf lib/MooseX/Blessed/Reconstruct.pm
 SHA1 a864e611614c3e25f55dd7174dc6f1f8922881a9 t/basic.t
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.7 (Darwin)
+Version: GnuPG/MacGPG2 v2.0.12 (Darwin)
 
-iD8DBQFJOu6jVCwRwOvSdBgRAmKPAJ9Q5L4EnERUDF73/OVijjQr40tuygCgoam0
-FCVPdd9RgU1ArqcOSlPQhyA=
-=1yBL
+iEYEARECAAYFAkqyHmwACgkQVCwRwOvSdBiJhACghnFD9NmaT4a/U0i3CxGsV3PI
+hncAoKYTVu3LCt8sLasc1/tpDj+etWZi
+=/uwf
 -----END PGP SIGNATURE-----

Modified: branches/upstream/libmoosex-blessed-reconstruct-perl/current/lib/MooseX/Blessed/Reconstruct.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libmoosex-blessed-reconstruct-perl/current/lib/MooseX/Blessed/Reconstruct.pm?rev=44232&op=diff
==============================================================================
--- branches/upstream/libmoosex-blessed-reconstruct-perl/current/lib/MooseX/Blessed/Reconstruct.pm (original)
+++ branches/upstream/libmoosex-blessed-reconstruct-perl/current/lib/MooseX/Blessed/Reconstruct.pm Fri Sep 18 11:05:49 2009
@@ -3,12 +3,16 @@
 package MooseX::Blessed::Reconstruct;
 use Moose;
 
+use Carp qw(croak);
+
 use Class::MOP 0.66; # well behaved load_class()
 use Data::Visitor 0.21; # n-arity visit
 
+use Scalar::Util qw(reftype);
+
 use namespace::clean -except => 'meta';
 
-our $VERSION = "0.02";
+our $VERSION = "0.03";
 
 extends qw(Data::Visitor);
 
@@ -23,9 +27,9 @@
 
 	my $class = ref $obj;
 
-	my $meta = $v->load_classes
-		? Class::MOP::load_class($class)
-		: Class::MOP::get_metaclass_by_name($class);
+	Class::MOP::load_class($class) if $v->load_classes;
+
+	my $meta = Class::MOP::get_metaclass_by_name($class);
 
 	if ( ref $meta ) {
 		return $v->visit_object_with_meta($obj, $meta);
@@ -41,7 +45,7 @@
 
 	$v->_register_mapping( $obj => $instance );
 
-	my $args = $v->prepare_args( $obj );
+	my $args = $v->prepare_args( $meta, $obj );
 
 	$meta->new_object( %$args, __INSTANCE__ => $instance );
 
@@ -51,12 +55,23 @@
 }
 
 sub prepare_args {
-	my ( $v, $obj ) = @_;
+	my ( $v, $meta, $obj ) = @_;
 
-	my %args;
-	@args{keys %$obj} = $v->visit(values %$obj);
+    my @args;
 
-	return \%args;
+    if ( reftype $obj eq 'HASH' ) {
+        @args = %$obj;
+    } elsif ( reftype $obj eq 'ARRAY' ) {
+        @args = @$obj;
+    } elsif ( reftype $obj eq 'SCALAR' ) {
+        @args = $$obj;
+    } else {
+        croak "unknown ref type $obj";
+    }
+
+    my @processed = $v->visit(@args);
+
+    return $meta->name->BUILDARGS(@processed);
 }
 
 __PACKAGE__->meta->make_immutable;




More information about the Pkg-perl-cvs-commits mailing list