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.