[libbread-board-perl] 22/66: Make containers created from parameterized containers identifyable by their class
Jonas Smedegaard
js at alioth.debian.org
Sun Sep 29 21:23:34 UTC 2013
This is an automated email from the git hooks/post-receive script.
js pushed a commit to branch master
in repository libbread-board-perl.
commit 08a1aafe00a6723d8339d478677be72f95577f4b
Author: Florian Ragwitz <rafl at debian.org>
Date: Sun Jul 21 13:46:04 2013 -0700
Make containers created from parameterized containers identifyable by their class
---
lib/Bread/Board/Container/FromParameterized.pm | 8 ++++++++
lib/Bread/Board/Container/Parameterized.pm | 7 ++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/lib/Bread/Board/Container/FromParameterized.pm b/lib/Bread/Board/Container/FromParameterized.pm
new file mode 100644
index 0000000..0c81f49
--- /dev/null
+++ b/lib/Bread/Board/Container/FromParameterized.pm
@@ -0,0 +1,8 @@
+package Bread::Board::Container::FromParameterized;
+use Moose;
+
+extends 'Bread::Board::Container';
+
+__PACKAGE__->meta->make_immutable;
+
+no Moose; 1;
diff --git a/lib/Bread/Board/Container/Parameterized.pm b/lib/Bread/Board/Container/Parameterized.pm
index 1482b3b..d22496f 100644
--- a/lib/Bread/Board/Container/Parameterized.pm
+++ b/lib/Bread/Board/Container/Parameterized.pm
@@ -1,5 +1,7 @@
package Bread::Board::Container::Parameterized;
use Moose;
+use Moose::Util 'find_meta';
+use Bread::Board::Container::FromParameterized;
# ABSTRACT: A parameterized container
use Bread::Board::Container;
@@ -69,6 +71,9 @@ sub create {
: $self->container->name)
);
+ my $from_parameterized_meta = find_meta('Bread::Board::Container::FromParameterized');
+ $clone = $from_parameterized_meta->rebless_instance($clone);
+
foreach my $key ( @given_names ) {
$clone->add_sub_container(
$params{ $key }->clone( name => $key )
@@ -80,7 +85,7 @@ sub create {
__PACKAGE__->meta->make_immutable;
-no Moose; 1;
+no Moose; no Moose::Util; 1;
__END__
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libbread-board-perl.git
More information about the Pkg-perl-cvs-commits
mailing list