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