Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: List Wrapper for Object Methods.

by pelagic (Curate)
on Dec 03, 2004 at 15:45 UTC ( #412157=note: print w/ replies, xml ) Need Help??


in reply to Re: List Wrapper for Object Methods.
in thread List Wrapper for Object Methods.

I freely admit: I'm not that experienced with OO.
But instead of asking us all to Abandon hope you might be willing and able to post a hint on how to do it better.
In case you would like to do so I put the POD of that code in question here:


NAME

Archive - Manage Archives as Objects.


SYNOPSIS

    use Archive;

    ##  create a Archive object supplying all information needed
    my $force = 1;
    my $arch = Archive->new( archive    => $full_path_archive
                           , source_dir => $source_directory
                           , file_glob  => '.'
                           , log_file   => $log_object  ## a LogFile object (see LogFile.pm)
                           );

    ##  create a physical Archive using 'gtar czvf'
    $arch->prepare_create(force=>$force);
    $arch->create;

    ##  or

    ##  extract a physical Archive using 'gtar xzvf'
    $arch->prepare_extract;
    $arch->extract;

    ##  or

    ##  remove a physical Archive using 'rm -f'
    $arch->remove;

    ##  You can create a list of Archive objects as Archive::List object
    my $arch_list = Archive::List->new;

    ##  and add Archive objects to the list
    $arch_list->add($arch);
    $arch_list->add($brch);

    ##  now you can use all Archive methods also on all members of a Archive::List object
    $arch_list->prepare_create;
    $arch_list->create;


DESCRIPTION

Use Archive to create, extract or remove archives.


OBJECT METHODS


Archive Methods

new

Create a Archive object.

prepare_create

The check_archive Function checks whether an archive exists and refuses to overwrite it unless we set the parameter 'force'. It also checks whether the directory of the archive-to-be exists, is really a directory and is writeable for this user.

create

The create Function actually creates a physical gtar-ed archive.

prepare_extract

The prepare_extract Function checks whether an archive exists and whether the target directory of the extraction exists, is really a directory and is writeable for this user.

extract

The extract Function actually restores all files contained in a gtar-ed archive.

remove

The remove Function removes a gtar-ed archive.


Archive::List Methods

new

Create a Archive::List object.

add

Adds a Archive object to the Archive::List object that invoked the method.

prepare_create create prepare_extract extract remove

These methods called on a Archive::List object do the same for all Archive objects in the list.

---
The idea to create the Class Archive::List is actually just to be able of serialising method invocations.

(update: on dio's suggestion I put the POD directly into this node ....)

pelagic


Comment on Re^2: List Wrapper for Object Methods.
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://412157]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2015-07-06 08:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls