AnyEvent-Net-Amazon-S3
view release on metacpan or search on metacpan
lib/Module/AnyEvent/Helper/PPI/Transform/Net/Amazon/S3.pm view on Meta::CPAN
our $VERSION = 'v0.04.0.80'; # VERSION
use strict;
use warnings;
use parent qw(PPI::Transform::PackageName);
sub new
{
my ($self) = @_;
my $ret = $self->SUPER::new(
-all => sub {
s/^Net::Amazon::S3\b/AnyEvent::Net::Amazon::S3/g;
s/^LWP::UserAgent\b/AnyEvent::HTTP::LWP::UserAgent/g;
s/^Data::Stream::Bulk::Callback\b/Data::Stream::Bulk::AnyEvent/g;
}
);
return $ret;
}
1;
lib/Module/AnyEvent/Helper/PPI/Transform/Net/Amazon/S3/Client/Bucket.pm view on Meta::CPAN
marker => $marker,
prefix => $prefix,
max_keys => $max_keys,
)->http_request;
EOF
my $req_def = PPI::Document->new(do { chop($req_def_); \$req_def_ });
sub document
{
my ($self, $doc) = @_;
$self->SUPER::document($doc);
# Find target
my $list_decl = $doc->find_first(sub {
$_[1]->isa('PPI::Token::Word') && is_function_declaration($_[1]) && $_[1]->content eq 'list';
});
my $sub_block = $list_decl->snext_sibling->find_first(sub {
$_[1]->isa('PPI::Token::Word') && $_[1]->content eq 'sub';
})->snext_sibling;
# sub block transformation
lib/Module/AnyEvent/Helper/PPI/Transform/Net/Amazon/S3/Client/Object.pm view on Meta::CPAN
sub _is_bare_qw
{
my $qw = $_[0]->find_first('PPI::Token::QuoteLike::Words');
return _is_enum_decl($qw->parent) ? $qw : undef;
}
sub document
{
my ($self, $doc) = @_;
$self->SUPER::document($doc);
my $enum = $doc->find(sub { _is_enum_decl($_[1]) });
foreach my $target (@$enum) {
my $qw = _is_bare_qw($target);
next unless $qw;
my $next = $qw->snext_sibling;
$qw->remove;
my $ctor = $arrayref->child(0)->child(0)->clone;
$ctor->add_element($qw);
$next->insert_before($ctor);
}
( run in 1.149 second using v1.01-cache-2.11-cpan-49f99fa48dc )