This file documents the revision history for Perl extension Catalyst.
+5.64
+ - Updated YAML support
- Fixed path dispatch to canonicalise correctly
(see http://dev.catalyst.perl.org/ticket/62)
- Added Catalyst::Manual::About
-5.64
- - Removed YAML support
-
-5.63
+5.63 2006-01-22 00:00:00
- Updated prereq versions
5.62 2006-01-17 16:30:00
requires 'File::Copy::Recursive';
requires 'Module::Install::Admin' => '0.54';
requires 'Module::Install' => '0.54';
+requires 'YAML' => '0.55';
feature 'Apache/mod_perl Support',
-default => 0,
use Tree::Simple qw/use_weak_refs/;
use Tree::Simple::Visitor::FindByUID;
use attributes;
+use YAML ();
__PACKAGE__->mk_accessors(
qw/counter request response state action stack namespace/
__PACKAGE__->config( { db => 'dsn:SQLite:foo.db' } );
+You can also use a L<YAML> config file like myapp.yml in your
+applications home directory.
+
+ ---
+ db: dsn:SQLite:foo.db
+
=cut
sub config {
$class->setup_home( delete $flags->{home} );
+ # YAML config support
+ my $confpath = $class->config->{file}
+ || $class->path_to(
+ ( Catalyst::Utils::appprefix( ref $class || $class ) . '.yml' ) );
+ my $conf = {};
+ $conf = YAML::LoadFile($confpath) if -f $confpath;
+ my $oldconf = $class->config;
+ $class->config( { %$oldconf, %$conf } );
+
$class->setup_log( delete $flags->{log} );
$class->setup_plugins( delete $flags->{plugins} );
$class->setup_dispatcher( delete $flags->{dispatcher} );
if ($gen_app) {
$self->_mk_dirs;
+ $self->_mk_config;
$self->_mk_appclass;
$self->_mk_readme;
$self->_mk_changes;
}
}
+sub _mk_config {
+ my $self = shift;
+ my $dir = $self->{dir};
+ my $appprefix = $self->{appprefix};
+ $self->render_file( 'config',
+ File::Spec->catfile( $dir, "$appprefix.yml" ) );
+}
+
sub _mk_readme {
my $self = shift;
my $dir = $self->{dir};
our $VERSION = '0.01';
#
-# Configure the application
-#
-__PACKAGE__->config( { name => '[% name %]' } );
-
-#
# Start the application
#
__PACKAGE__->setup;
install_script glob('script/*.pl');
auto_install;
WriteAll;
+__config__
+---
+name: [% name %]
__readme__
Run script/[% appprefix %]_server.pl to test the application.
__changes__