Sub-Exporter

 view release on metacpan or  search on metacpan

t/lib/Test/SubExporter/ObjGen.pm  view on Meta::CPAN

#!perl
package Test::SubExporter::ObjGen::Obj;

use strict;
use warnings;

sub new {
  my $class = shift;
  my $code  = $class->can(shift);

  bless { code => $code } => $class;
}

sub group {
  return {
    foo => sub { return 'FOO' },
    bar => sub { return 'BAR' },
  };
}

sub baz {

t/util-currychain.t  view on Meta::CPAN

use strict;
use warnings;

use Test::More tests => 4;

BEGIN { use_ok("Sub::Exporter::Util", qw(curry_chain)); }

# So, some packages that we'll chain methods through.
{
  package Test::CurryChain::Head;
  sub new          { my ($class, @arg) = @_; bless [ @arg ] => $class; }
  sub next_obj     { shift; return Test::CurryChain::Tail->new(@_); }
  sub false        { return; }
  sub non_invocant { return 1; }

  package Test::CurryChain::Tail;
  sub new      { my ($class, @arg) = @_; bless [ @arg ] => $class; }
  sub rev_guts { return reverse @{shift()}; }
}

{
  # Then the generator which could be put into a Sub::Exporter -setup.
  # This is an optlist.  AREF = args; undef = no args; CODE = args generator
  my $generator = curry_chain(
    next_obj => [ 1, 2, 3 ],
    rev_guts => undef,
  );

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.765 second using v1.00-cache-2.02-grep-82fe00e-cpan-9e6bc14194b )