Andy Wardley > Badger-0.09 > Badger::Filesystem::Base

Download:
Badger-0.09.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Source  

NAME ^

Badger::Filesystem::Base - common functionality for Badger::Filesystem modules

SYNOPSIS ^

    package Badger::Filesystem::SomeOtherModule;
    use base 'Badger::Filesystem::Base'
    # now this module inherits the base class functionality

DESCRIPTION ^

Badger::Filesystem::Base is a base class module that defines some common functionality shared by Badger::Filesystem and Badger::Filesystem::Path (which itself is the base class for Badger::Filesystem::Directory and Badger::Filesystem::File.

METHODS ^

init_path(\%config)

Initialisation method which examines the filesystem path specified as a parameter and splits it into volume, directory and name.

init_options(\%config)

Initialisation method which handles the encoding and codec options.

encoding($enc)

This method can be used to get or set the default encoding for a file.

    $file->encoding(':utf8');

The encoding will affect all operations that read data from, or write data to the file.

The method can also be used to get or set the default encoding for a directory or filesystem. In this case the option specifies the default encoding for file contained therein.

    $directory->encoding(':utf8');
    $file = $directory->file('foo.txt');        # has :utf8 encoding set

codec()

This method can be used to get or set the codec used to serialise data to and from a file via the data() method. The codec should be specified by name, using any of the names that Badger::Codecs recognises or can load.

    $file->codec('storable');
    
    # first save the data to file
    $file->data($some_data_to_save);
    
    # later... load the data back out
    my $data = $file->data;

You can use chained codec specifications if you want to pass the data through more than one codec.

    $file->code('storable+base64');

See Badger::Codecs for further information on codecs.

As with encoding(), this method can also be used to get or set the default codec for a directory or filesystem.

    $directory->codec('json');
    $file = $directory->file('foo.json');       # has json codec set

AUTHOR ^

Andy Wardley http://wardley.org/

COPYRIGHT ^

Copyright (C) 2009 Andy Wardley. All rights reserved.

SEE ALSO ^

Badger::Filesystem, Badger::Filesystem::Path, Badger::Filesystem::Directory, Badger::Filesystem::File.

syntax highlighting: