Dackup
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Dackup/Target/CloudFiles.pm view on Meta::CPAN
sub name {
my ( $self, $entry ) = @_;
return
'cloudfiles://'
. $self->container->name . '/'
. $self->prefix
. $entry->key;
}
sub update {
my ( $self, $source, $entry ) = @_;
my $container = $self->container;
my $prefix = $self->prefix;
my $source_type = ref($source);
my $object = $self->object($entry);
if ( $source_type eq 'Dackup::Target::Filesystem' ) {
$object->put_filename( $source->filename($entry) );
} elsif ( $source_type eq 'Dackup::Target::S3' ) {
my $filename = tmpnam();
lib/Dackup/Target/Filesystem.pm view on Meta::CPAN
sub filename {
my ( $self, $entry ) = @_;
return file( $self->prefix, $entry->key );
}
sub name {
my ( $self, $entry ) = @_;
return 'file://' . file( $self->prefix, $entry->key );
}
sub update {
my ( $self, $source, $entry ) = @_;
my $source_type = ref($source);
my $destination_filename = $self->filename($entry);
$destination_filename->parent->mkpath;
if ( $source_type eq 'Dackup::Target::Filesystem' ) {
my $source_filename = $source->filename($entry);
copy( $source_filename->stringify, $destination_filename->stringify )
|| confess(
"Error copying $source_filename to $destination_filename: $!");
lib/Dackup/Target/S3.pm view on Meta::CPAN
etag => $entry->md5_hex,
size => $entry->size,
);
}
sub name {
my ( $self, $entry ) = @_;
return 's3://' . $self->bucket->name . '/' . $self->prefix . $entry->key;
}
sub update {
my ( $self, $source, $entry ) = @_;
my $source_type = ref($source);
my $object = $self->object($entry);
if ( $source_type eq 'Dackup::Target::Filesystem' ) {
$object->put_filename( $source->filename($entry) );
} else {
confess "Do not know how to update from $source_type";
}
}
lib/Dackup/Target/SSH.pm view on Meta::CPAN
sub name {
my ( $self, $entry ) = @_;
my $ssh = $self->ssh;
return
'ssh://'
. $ssh->{_user} . '@'
. $ssh->{_host}
. file( $self->prefix, $entry->key );
}
sub update {
my ( $self, $source, $entry ) = @_;
my $ssh = $self->ssh;
my $source_type = ref($source);
my $destination_filename = $self->filename($entry);
my $destination_directory = $destination_filename->parent;
my $directories = $self->directories;
if ( $source_type eq 'Dackup::Target::Filesystem' ) {
my $source_filename = $source->filename($entry);
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.618 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )