[SCM] libmessage-passing-perl Debian packaging branch, master, updated. debian/0.111-3-14-g44f6e88
Tomas Doran
bobtfish at bobtfish.net
Mon May 6 11:57:22 UTC 2013
The following commit has been merged in the master branch:
commit e126ab4691103ca06e23271f0cdf73aeaaed4cfe
Author: Tomas Doran <bobtfish at bobtfish.net>
Date: Sat Jul 7 15:19:08 2012 +0100
Move CLIComponent over to Package::Variant
diff --git a/Makefile.PL b/Makefile.PL
index 6e57644..7cff9e8 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -14,6 +14,7 @@ resources(
);
requires 'Moo';
+requires 'Package::Variant';
requires 'Moose';
requires 'namespace::clean';
requires 'Module::Runtime';
diff --git a/lib/Message/Passing.pm b/lib/Message/Passing.pm
index 32d3189..69ccc45 100644
--- a/lib/Message/Passing.pm
+++ b/lib/Message/Passing.pm
@@ -2,20 +2,20 @@ package Message::Passing;
use Moose;
use Getopt::Long qw(:config pass_through);
use Config::Any;
+use Message::Passing::Role::CLIComponent;
+use Message::Passing::DSL;
use namespace::clean -except => 'meta';
use 5.8.4;
-use Message::Passing::DSL;
-
with
'MooseX::Getopt',
'MooseX::ConfigFromFile',
- 'Message::Passing::Role::CLIComponent' => { name => 'input' },
- 'Message::Passing::Role::CLIComponent' => { name => 'output' },
- 'Message::Passing::Role::CLIComponent' => { name => 'filter', default => 'Null' },
- 'Message::Passing::Role::CLIComponent' => { name => 'decoder', default => 'JSON' },
- 'Message::Passing::Role::CLIComponent' => { name => 'encoder', default => 'JSON' },
- 'Message::Passing::Role::CLIComponent' => { name => 'error', default => 'STDERR' },
+ CLIComponent( name => 'input' ),
+ CLIComponent( name => 'output' ),
+ CLIComponent( name => 'filter', default => 'Null' ),
+ CLIComponent( name => 'decoder', default => 'JSON' ),
+ CLIComponent( name => 'encoder', default => 'JSON' ),
+ CLIComponent( name => 'error', default => 'STDERR' ),
'Message::Passing::Role::Script';
our $VERSION = '0.009';
diff --git a/lib/Message/Passing/Role/CLIComponent.pm b/lib/Message/Passing/Role/CLIComponent.pm
index 077dd11..ef45c0b 100644
--- a/lib/Message/Passing/Role/CLIComponent.pm
+++ b/lib/Message/Passing/Role/CLIComponent.pm
@@ -1,45 +1,35 @@
package Message::Passing::Role::CLIComponent;
-use MooseX::Role::Parameterized;
-use Moose::Util::TypeConstraints;
-use Message::Passing::Types qw/
- Hash_from_JSON
-/;
-use namespace::clean -except => 'meta';
-
-parameter name => (
- isa => 'Str',
- required => 1,
-);
-
-parameter default => (
- isa => 'Str',
- predicate => 'has_default',
-);
-
-role {
+use strict;
+use warnings;
+use Package::Variant
+ importing => ['Moo::Role'],
+ subs => [ qw(has around before after with) ];
+use MooX::Types::MooseLike::Base qw/ Str /;
+#use namespace::clean -except => 'CLIComponent';
+
+sub make_variant {
+ my ($class, $target_package, %arguments) = @_;
my $p = shift;
- my $name = $p->name;
- my $has_default = $p->has_default;
- my $default = $has_default ? $p->default : undef;
+ my $name = $arguments{name};
+ my $has_default = exists $arguments{default};
+ my $default = $has_default ? $arguments{default} : undef;
has $name => (
- isa => 'Str',
+ isa => Str,
is => 'ro',
required => $has_default ? 0 : 1,
- $has_default ? ( default => $default ) : (),
+ $has_default ? ( default => sub { $default } ) : (),
);
has "${name}_options" => (
- isa => Hash_from_JSON,
- traits => ['Hash'],
+ is => 'ro',
+ #isa => Hash_from_JSON,
+ #traits => ['Hash'],
default => sub { {} },
- handles => {
- "${name}_options" => 'elements',
- },
- coerce => 1,
+# coerce => 1,
);
-};
+}
1;
--
libmessage-passing-perl Debian packaging
More information about the Pkg-perl-cvs-commits
mailing list