# $Id: /local/CPAN/Mango/lib/Mango.pm 1644 2008-06-02T01:46:53.055259Z claco $
package Mango;
use strict;
use warnings;
our $VERSION = '0.01000_13';
BEGIN {
use base qw/Class::Accessor::Grouped/;
use File::ShareDir ();
use Path::Class qw/dir/;
}
sub share {
my ( $self, $share ) = @_;
if ($share) {
$self->set_inherited( 'share', $share );
}
return
$ENV{'MANGO_SHARE'}
|| $self->get_inherited('share')
||
## use share, unless errors on local -I no share
eval { File::ShareDir::module_dir('Mango') } ||
## try for -Ilib/Mango.pm../../share
dir( $INC{'Mango.pm'} )->parent->parent->subdir('share');
}
1;
__END__
=head1 NAME
Mango - An ecommerce solution using Catalyst, Handel and DBIx::Class
=head1 SYNOPSIS
use Mango;
print Mango->share;
=head1 DESCRIPTION
This is a generic class containing the default configuration used by other
Mango classes.
To learn more about what Mango is and how it works, take a look at the
L<manual|Mango::Manual>.
=head1 METHODS
=head2 share
=over
=item Arguments: $share_path
=back
Gets/sets the location of the Mango share directory where the default
dist templates are stored.
print $self->share;
If the C<ENV> variable C<MANGO_SHARE> is set, that will be returned instead.
=head1 SEE ALSO
L<Mango::Manual>
=head1 AUTHOR
Christopher H. Laco
CPAN ID: CLACO
claco@chrislaco.com
http://today.icantfocus.com/blog/