The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Badger::Workplace - a place to do work

DESCRIPTION

This is a very simple base class for modules that operate on or around a particular filesystem directory. See Badger::Config::Filesystem for an example of it in us.

CONFIGURATION OPTIONS

root / dir / directory

Any of root, dir or directory can be provided to specify the root directory of the workplace.

urn

This option can be set to define a Universal Resource Name (URN) for the workplace for reference purposes. If undefined it defaults to the name of the root directory.

uri

This option can be set to define a Universal Resource Identifier (URN) for the workplace for reference purposes. If undefined it defaults to the name of the value of urn.

mkdir

The object constructor will fail if the root directory specified via root (or dir or directory) does not exist. Alternately, set the mkdir option to any true value and the directory will be created automatically.

METHODS

dir($name) / directory($name)

Returns a Badger::Filesystem::Directory object for a named sub-directory relative to the workplace root.

When called with any arguments it returns a Badger::Filesystem::Directory object for the workplace root directory.

file($name)

Returns a Badger::Filesystem::File object for a named files relative to the workplace root.

uri($path)

When called without any arguments this method returns the base URI for the workspace.

    print $workspace->uri;              # e.g. foo

When called with a relative URI path as an argument, it returns the URI resolved relative to the project base URI.

    print $workspace->uri('bar');       # e.g. foo/bar

AUTHOR

Andy Wardley http://wardley.org/

COPYRIGHT

Copyright (C) 2008-2014 Andy Wardley. All Rights Reserved.

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