use Tree::Simple qw/use_weak_refs/;
use Tree::Simple::Visitor::FindByUID;
use attributes;
-use YAML ();
+use JSON;
+use File::Slurp;
__PACKAGE__->mk_accessors(
qw/counter request response state action stack namespace/
require Module::Pluggable::Fast;
# Helper script generation
-our $CATALYST_SCRIPT_GEN = 25;
+our $CATALYST_SCRIPT_GEN = 26;
__PACKAGE__->mk_classdata($_)
for qw/components arguments dispatcher engine log dispatcher_class
__PACKAGE__->request_class('Catalyst::Request');
__PACKAGE__->response_class('Catalyst::Response');
-our $VERSION = '5.62';
+our $VERSION = '5.64';
sub import {
my ( $class, @arguments ) = @_;
__PACKAGE__->config({ db => 'dsn:SQLite:foo.db' });
-You can also use a L<YAML> config file like myapp.yml in your
+You can also use a L<JSON> config file like myapp.json in your
applications home directory.
- ---
- db: dsn:SQLite:foo.db
+ {
+ "db": "dsn:SQLite:foo.db"
+ }
=head2 $c->debug
$class->setup_home( delete $flags->{home} );
- # YAML config support
+ # JSON config support
my $confpath = $class->config->{file}
|| $class->path_to(
- ( Catalyst::Utils::appprefix( ref $class || $class ) . '.yml' ) );
+ ( Catalyst::Utils::appprefix( ref $class || $class ) . '.json' ) );
my $conf = {};
- $conf = YAML::LoadFile($confpath) if -f $confpath;
+ if ( -f $confpath ) {
+ my $content = read_file("$confpath");
+ $conf = jsonToObj($content);
+ }
my $oldconf = $class->config;
$class->config( { %$oldconf, %$conf } );
<p>If you want to jump right into web development with Catalyst
you might want to check out the documentation.</p>
<pre><code>perldoc <a href="http://cpansearch.perl.org/dist/Catalyst/lib/Catalyst/Manual/Intro.pod">Catalyst::Manual::Intro</a>
+perldoc <a href="http://cpansearch.perl.org/dist/Catalyst/lib/Catalyst/Manual/Tutorial.pod">Catalyst::Manual::Tutorial</a></code>
perldoc <a href="http://cpansearch.perl.org/dist/Catalyst/lib/Catalyst/Manual.pod">Catalyst::Manual</a></code></pre>
<h2>What to do next?</h2>
<p>Next it's time to write an actual application. Use the
sub execute {
my ( $c, $class, $code ) = @_;
- $class = $c->components->{$class} || $class;
+ $class = $c->component($class) || $class;
$c->state(0);
if ( $c->debug ) {