[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