Catalyst::Model::File(3)

NAME
Catalyst::Model::File - File based storage model for Catalyst.

SYNOPSIS
# use the helper to create a model
    myapp_create.pl model File File

# configure in lib/MyApp.pm

    MyApp->config(
        name          => 'MyApp',
        root          => MyApp->path_to('root'),
        'Model::File' => {
            root_dir => MyApp->path_to('file_store')
        },
    );

Simple file based storage model for Catalyst.

  @file_names = $c->model('File')->list;

METHODS

  list
Returns a list of files (and/or directories) found under the current working dir. Default will return files (including those found under sub-directories) but not directories.

To change this behaviour specify a "mode" param of "files" (default), "dirs" or "both":

 $mdl->list(mode => 'both')

To only get files/dirs directly under the current dir specify a "recurse" option of 0.

Please note: the exact order in which files and directories are listed will change from OS to OS.

  change_dir

  cd
Set current working directory (relative to current) and return $self.

  directory

  pwd
Get the current working directory, from which all relative paths are based.

  parent
Move up to the parent of the working directory. Returns $self.

  $self->file($file)
Returns an Path::Class::File object of $file (which can be a string or a Class::Path::File object,) or undef if the file is an invalid path - i.e. outside the directory structure specified in the config.

  $self->slurp($file)
Shortcut to $self->file($file)->slurp.

In a scalar context, returns the contents of $file in a string. In a list context, returns the lines of $file (according to how $/ is set) as a list. If the file can't be read, this method will throw an exception.

If you want "chomp()" run on each line of the file, pass a true value for the "chomp" or "chomped" parameters:

 my @lines = $self->slurp($file, chomp => 1);

  $self->splat($file, PRINT_ARGS)
Does a print to $file with the specified "PRINT_ARGS". Does the same as "$self-"file->openw->print(@_)>

AUTHOR
Ash Berlin, "ash@cpan.org"

LICENSE
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.