r59051 - in /trunk/libmoosex-method-signatures-perl: Changes META.yml README debian/changelog lib/MooseX/Method/Signatures.pm lib/MooseX/Method/Signatures/Meta/Method.pm t/meta.t
ansgar-guest at users.alioth.debian.org
ansgar-guest at users.alioth.debian.org
Tue Jun 8 03:20:16 UTC 2010
Author: ansgar-guest
Date: Tue Jun 8 03:12:22 2010
New Revision: 59051
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=59051
Log:
New upstream release.
Modified:
trunk/libmoosex-method-signatures-perl/Changes
trunk/libmoosex-method-signatures-perl/META.yml
trunk/libmoosex-method-signatures-perl/README
trunk/libmoosex-method-signatures-perl/debian/changelog
trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures.pm
trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures/Meta/Method.pm
trunk/libmoosex-method-signatures-perl/t/meta.t
Modified: trunk/libmoosex-method-signatures-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-method-signatures-perl/Changes?rev=59051&op=diff
==============================================================================
--- trunk/libmoosex-method-signatures-perl/Changes (original)
+++ trunk/libmoosex-method-signatures-perl/Changes Tue Jun 8 03:12:22 2010
@@ -1,4 +1,11 @@
Version history for MooseX::Method::Signatures
+
+0.33 Thu, 01 Jun 2010 13:47:34 -0300
+ * CatalystX::Declare seems to create a method object without a code
+ reference at all.
+
+0.32 Thu, 01 Jun 2010 13:47:34 -0300
+ * Detect usage of old MXMS::Meta::Method API and retro-compatibilize.
0.31 Thu, 01 Jun 2010 13:47:34 -0300
* Add support for "does" as a trait declarator
Modified: trunk/libmoosex-method-signatures-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-method-signatures-perl/META.yml?rev=59051&op=diff
==============================================================================
--- trunk/libmoosex-method-signatures-perl/META.yml (original)
+++ trunk/libmoosex-method-signatures-perl/META.yml Tue Jun 8 03:12:22 2010
@@ -41,4 +41,4 @@
bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Method-Signatures
license: http://dev.perl.org/licenses/
repository: git://github.com/rafl/moosex-method-signatures.git
-version: 0.31
+version: 0.33
Modified: trunk/libmoosex-method-signatures-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-method-signatures-perl/README?rev=59051&op=diff
==============================================================================
--- trunk/libmoosex-method-signatures-perl/README (original)
+++ trunk/libmoosex-method-signatures-perl/README Tue Jun 8 03:12:22 2010
@@ -250,6 +250,7 @@
Ash Berlin <ash at cpan.org>
Cory Watson <gphat at cpan.org>
+ Daniel Ruoso <daniel at ruoso.com>
Hakim Cassimally <hakim.cassimally at gmail.com>
Jonathan Scott Duff <duff at pobox.com>
Justin Hunter <justin.d.hunter at gmail.com>
Modified: trunk/libmoosex-method-signatures-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-method-signatures-perl/debian/changelog?rev=59051&op=diff
==============================================================================
--- trunk/libmoosex-method-signatures-perl/debian/changelog (original)
+++ trunk/libmoosex-method-signatures-perl/debian/changelog Tue Jun 8 03:12:22 2010
@@ -1,3 +1,9 @@
+libmoosex-method-signatures-perl (0.33-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Ansgar Burchardt <ansgar at 43-1.org> Tue, 08 Jun 2010 12:11:20 +0900
+
libmoosex-method-signatures-perl (0.31-1) unstable; urgency=low
* New upstream release.
Modified: trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures.pm?rev=59051&op=diff
==============================================================================
--- trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures.pm (original)
+++ trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures.pm Tue Jun 8 03:12:22 2010
@@ -19,7 +19,7 @@
use namespace::autoclean;
-our $VERSION = '0.31';
+our $VERSION = '0.33';
has package => (
is => 'ro',
@@ -626,6 +626,8 @@
=item Cory Watson E<lt>gphat at cpan.orgE<gt>
+=item Daniel Ruoso E<lt>daniel at ruoso.comE<gt>
+
=item Hakim Cassimally E<lt>hakim.cassimally at gmail.comE<gt>
=item Jonathan Scott Duff E<lt>duff at pobox.comE<gt>
Modified: trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures/Meta/Method.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures/Meta/Method.pm?rev=59051&op=diff
==============================================================================
--- trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures/Meta/Method.pm (original)
+++ trunk/libmoosex-method-signatures-perl/lib/MooseX/Method/Signatures/Meta/Method.pm Tue Jun 8 03:12:22 2010
@@ -152,10 +152,16 @@
around wrap => sub {
my $orig = shift;
my $self;
- my ($class, $code, %args) = @_;
+ my ($class, $code, %args);
+ if (ref $_[1]) {
+ ($class, $code, %args) = @_;
+ } else {
+ ($class, %args) = @_;
+ $code = delete $args{body};
+ }
my $wrapped = $class->_wrapped_body(\$self, %args);
- $self = $class->$orig($wrapped, %args, actual_body => $code);
+ $self = $class->$orig($wrapped, %args, $code ? (actual_body => $code) : ());
# Vivify the type constraints so TC lookups happen before namespace::clean
# removes them
@@ -167,6 +173,16 @@
return $self;
};
+
+sub reify {
+ my $self = shift;
+
+ my %other_args = %{$self};
+ delete $other_args{body};
+ delete $other_args{actual_body};
+
+ return $self->meta->name->wrap($self->body, %other_args, @_);
+}
sub _build_parsed_signature {
my ($self) = @_;
Modified: trunk/libmoosex-method-signatures-perl/t/meta.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-method-signatures-perl/t/meta.t?rev=59051&op=diff
==============================================================================
--- trunk/libmoosex-method-signatures-perl/t/meta.t (original)
+++ trunk/libmoosex-method-signatures-perl/t/meta.t Tue Jun 8 03:12:22 2010
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More tests => 3;
+use Test::More tests => 8;
use Test::Exception;
use MooseX::Method::Signatures::Meta::Method;
@@ -30,3 +30,52 @@
dies_ok(sub {
Foo->bar(foo => 'moo', bar => 'baz');
});
+
+# Makes sure we still support the old API.
+
+{
+ package Bar;
+ use metaclass;
+
+ my $method = MooseX::Method::Signatures::Meta::Method->wrap(
+ signature => '($class: Int :$foo, Str :$bar)',
+ package_name => __PACKAGE__,
+ name => 'bar',
+ body => sub {
+ my ($class, $foo, $bar) = @_;
+ return $bar x $foo;
+ },
+ );
+ ::isa_ok($method, 'Moose::Meta::Method');
+
+ Bar->meta->add_method(bar => $method);
+}
+
+lives_and(sub {
+ is(Bar->bar(foo => 3, bar => 'baz'), 'bazbazbaz');
+});
+
+dies_ok(sub {
+ Bar->bar(foo => 'moo', bar => 'baz');
+});
+
+
+# CatalystX::Declare seems to create a method without a code at all.
+lives_and(sub {
+ package Bar;
+ use metaclass;
+
+ my $method = MooseX::Method::Signatures::Meta::Method->wrap(
+ signature => '($class: Int :$foo, Str :$bar)',
+ package_name => __PACKAGE__,
+ name => 'bar',
+ );
+ ::isa_ok($method, 'Moose::Meta::Method');
+
+ # CatalystX::Declare uses reify directly. too bad.
+ my $other = $method->reify
+ ( actual_body => sub { },
+ );
+ ::isa_ok($method, 'Moose::Meta::Method');
+
+});
More information about the Pkg-perl-cvs-commits
mailing list