]> git.vpit.fr Git - perl/modules/Bit-MorseSignals.git/commitdiff
Importing Bit-MorseSignals-0.04.tar.gz v0.04
authorVincent Pit <vince@profvince.com>
Sun, 29 Jun 2008 15:12:53 +0000 (17:12 +0200)
committerVincent Pit <vince@profvince.com>
Sun, 29 Jun 2008 15:12:53 +0000 (17:12 +0200)
Changes
META.yml
Makefile.PL
README
lib/Bit/MorseSignals.pm
lib/Bit/MorseSignals/Emitter.pm
lib/Bit/MorseSignals/Receiver.pm

diff --git a/Changes b/Changes
index 1d0165012354bcd2dc54180af6d11aef8c63729f..4fa24df5c2bdfc161a106b73adfb635bd3b8c30e 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,16 +1,21 @@
 Revision history for Bit-MorseSignals
 
-0.03    2008-03-03 17:30 GMT
+0.04    2008-03-06 14:55 UTC
+        + Doc : POD tweaks.
+        + Fix : Correct dependencies listing in META.yml.
+        + Fix : Demanglers panicking over misformed data caused severe warnings.
+
+0.03    2008-03-03 17:30 UTC
         + Doc : Clarified synopsises.
         + Fix : The receiver could access inexistant demanglers if an error
                 occurred during the transfer.
 
-0.02    2008-03-01 12:00 GMT
+0.02    2008-03-01 12:00 UTC
         + Add : The samples/jerk.pl example script.
         + Doc : Typos in POD.
         + Fix : As the doc says, the datatype should be enforced to PLAIN when
                 the reserved bit is set.
 
-0.01    2008-03-01 10:40 GMT
+0.01    2008-03-01 10:40 UTC
         First version, released on an unsuspecting world.
 
index e8f8bd9f35f71147230292cbbe0371eef79ef03d..0b4087a36a97920fc6da5f7b3e41d59d1ecd120f 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:                Bit-MorseSignals
-version:             0.03
+version:             0.04
 abstract:            The MorseSignals protocol.
 license:             perl
 author:              
@@ -12,7 +12,10 @@ requires:
     Encode:                        0
     Exporter:                      0
     Storable:                      0
-    Test::More:                    0
 meta-spec:
     url:     http://module-build.sourceforge.net/META-spec-v1.3.html
     version: 1.3
+build_requires:
+    ExtUtils::MakeMaker:           0
+    Test::More:                    0
+    utf8:                          0
index 38a01ab2c458c3c57df29dd7007552087e8c0ffc..00a75323ebde8192e6af2a784d5467884a3fcfe8 100644 (file)
@@ -2,6 +2,22 @@ use strict;
 use warnings;
 use ExtUtils::MakeMaker;
 
+my $BUILD_REQUIRES = {
+ 'utf8'                => 0,
+ 'ExtUtils::MakeMaker' => 0,
+ 'Test::More'          => 0,
+};
+
+sub build_req {
+ my $tometa = ' >> $(DISTVNAME)/META.yml;';
+ my $build_req = 'echo "build_requires:" ' . $tometa;
+ foreach my $mod ( sort { lc $a cmp lc $b } keys %$BUILD_REQUIRES ) {
+  my $ver = $BUILD_REQUIRES->{$mod};
+  $build_req .= sprintf 'echo "    %-30s %s" %s', "$mod:", $ver, $tometa;
+ }
+ return $build_req;
+}
+
 WriteMakefile(
     NAME                => 'Bit::MorseSignals',
     AUTHOR              => 'Vincent Pit <perl@profvince.com>',
@@ -14,10 +30,10 @@ WriteMakefile(
         'Encode'     => 0,
         'Exporter'   => 0,
         'Storable'   => 0,
-        'Test::More' => 0,
     },
     dist                => { 
-        PREOP => 'pod2text lib/Bit/MorseSignals.pm > $(DISTVNAME)/README',
+        PREOP => 'pod2text lib/Bit/MorseSignals.pm > $(DISTVNAME)/README; '
+                 . build_req,
         COMPRESS => 'gzip -9f', SUFFIX => 'gz'
     },
     clean               => { FILES => 'Bit-MorseSignals-*' },
diff --git a/README b/README
index 4d6bd1a53c76defc9ae21dc1ad3ba96700980606..167f19dace139fe8416666980c27665424a034e0 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ NAME
     Bit::MorseSignals - The MorseSignals protocol.
 
 VERSION
-    Version 0.03
+    Version 0.04
 
 SYNOPSIS
         use Bit::MorseSignals::Emitter;
index d06a35318a5448675a2fd2f7cfebffbaa86a7179..2f5b1676102c7c351d1acb6ca63c2289bcea3b7c 100644 (file)
@@ -9,11 +9,11 @@ Bit::MorseSignals - The MorseSignals protocol.
 
 =head1 VERSION
 
-Version 0.03
+Version 0.04
 
 =cut
 
-our $VERSION = '0.03';
+our $VERSION = '0.04';
 
 =head1 SYNOPSIS
 
index 34862f02b9aff6a38c12c9df43f69e63d43ddb01..0bf93b06a3538db50a2df23b7cc7b7aecaf3b1de 100644 (file)
@@ -15,11 +15,11 @@ Bit::MorseSignals::Emitter - Base class for Bit::MorseSignals emitters.
 
 =head1 VERSION
 
-Version 0.03
+Version 0.04
 
 =cut
 
-our $VERSION = '0.03';
+our $VERSION = '0.04';
 
 =head1 SYNOPSIS
 
@@ -81,7 +81,7 @@ sub new {
  return $self;
 }
 
-=head2 C<< post $msg, [ type => $type ] >>
+=head2 C<< post $msg, < type => $type > >>
 
 Adds C<$msg> to the message queue and, if no other message is currently processed, dequeue the oldest item and prepare it. The type is automatically chosen, but you may want to try to force it with the C<type> option : C<$type> is then one of the C<BM_DATA_*> constants listed in L<Bit::MorseSignals/CONSTANTS>
 
index 6c130045402f3afc26b82b55bff192f6f6f1604b..87c0a5b3ad450980dc5087272aead1f40a937545 100644 (file)
@@ -15,11 +15,11 @@ Bit::MorseSignals::Receiver - Base class for Bit::MorseSignals receivers.
 
 =head1 VERSION
 
-Version 0.03
+Version 0.04
 
 =cut
 
-our $VERSION = '0.03';
+our $VERSION = '0.04';
 
 =head1 SYNOPSIS
 
@@ -46,7 +46,7 @@ sub _check_self {
 
 =head1 METHODS
 
-=head2 C<< new [ done => $cb ] >>
+=head2 C<< new < done => $cb > >>
 
 L<Bit::MorseSignals::Receiver> object constructor. With the C<'done'> option, you can specify a callback that will be triggered every time a message is completed, and in which C<$_[0]> will be the receiver object and C<$_[1]> the message received.
 
@@ -99,7 +99,12 @@ sub push {
     my @demanglers = (sub { $_[0] }, \&decode_utf8, \&thaw  );
     #        BM_DATA_{PLAIN,         UTF8,          STORABLE}
     $self->{msg} = defined $demanglers[$self->{type}]
-                    ? $demanglers[$self->{type}]->($self->{buf})
+                    ? do {
+                       my $msg = eval {
+                        $demanglers[$self->{type}]->($self->{buf})
+                       };
+                       $@ ? undef : $msg;
+                      }
                     : $self->{buf};
     $self->reset;
     $self->{done}->($self, $self->{msg}) if $self->{done};