CatalystX::CRUD::Model::File - filesystem CRUD model


CatalystX-CRUD documentation  | view source Contained in the CatalystX-CRUD distribution.

Index


NAME

Top

CatalystX::CRUD::Model::File - filesystem CRUD model

SYNOPSIS

Top

 package MyApp::Model::Foo;
 use base qw( CatalystX::CRUD::Model::File );
 __PACKAGE__->config( 
    object_class    => 'MyApp::File',
    delegate_class  => 'Path::Class::File', # optional
    inc_path        => [ '/some/path', '/other/path' ],
 );

 1;

DESCRIPTION

Top

CatalystX::CRUD::Model::File is an example implementation of CatalystX::CRUD::Model.

METHODS

Top

Only new or overridden methods are documented here.

Xsetup

Implements the CXC::Model API. Sets the inc_path() (if not already set) to the root config value.

new_object( file => path/to/file )

Return a new CatalystX::CRUD::Object::File object.

fetch( file => path/to/file )

Read path/to/file from disk and return a CXCO::File object.

path/to/file is assumed to be in inc_path

If path/to/file is empty or cannot be found, the CatalystX::CRUD::Object::File object is returned but its content() will be undef. If its parent dir is '.', its dir() will be set to the first item in inc_path().

inc_path

Returns the include path from config(). The include path is searched by search(), count() and iterator().

make_query

Returns a wanted subroutine suitable for File::Find.

 # TODO regex vs exact match

search( filter_CODE )

Uses File::Find to search through inc_path() for files. filter_CODE should be a CODE ref matching format returned by make_query(). If not set, make_query() is called by default.

Returns an array ref of CXCO::File objects.

count( filter_CODE )

Returns number of files matching filter_CODE. See search for a description of filter_CODE.

iterator( filter_CODE )

Acts same as search() but returns a CatalystX::CRUD::Iterator::File object instead of a simple array ref.

AUTHOR

Top

Peter Karman, <perl at peknet.com>

BUGS

Top

Please report any bugs or feature requests to bug-catalystx-crud at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CatalystX-CRUD. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Top

You can find documentation for this module with the perldoc command.

    perldoc CatalystX::CRUD

You can also look for information at:

* AnnoCPAN: Annotated CPAN documentation

http://annocpan.org/dist/CatalystX-CRUD

* CPAN Ratings

http://cpanratings.perl.org/d/CatalystX-CRUD

* RT: CPAN's request tracker

http://rt.cpan.org/NoAuth/Bugs.html?Dist=CatalystX-CRUD

* Search CPAN

http://search.cpan.org/dist/CatalystX-CRUD

COPYRIGHT & LICENSE

Top


CatalystX-CRUD documentation  | view source Contained in the CatalystX-CRUD distribution.