X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=8ed0016da6e339a40b24a0e0990703a459303c3a;hp=a3fc0f7983503d26b2d59fc56cabc3a763736d43;hb=0ba80bce27a56d366c8d44c254332dd83f9ba0f9;hpb=0ff7106c9f4652163ca58c84130de0fee52ea2f9 diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index a3fc0f7..8ed0016 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -21,8 +21,6 @@ use Scalar::Util qw/weaken/; use Tree::Simple qw/use_weak_refs/; use Tree::Simple::Visitor::FindByUID; use attributes; -use JSON; -use File::Slurp; __PACKAGE__->mk_accessors( qw/counter request response state action stack namespace/ @@ -49,7 +47,7 @@ our $DETACH = "catalyst_detach\n"; 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 @@ -373,7 +371,7 @@ sub component { if ( exists $c->components->{$try} ) { my $comp = $c->components->{$try}; - if ( ref $comp && $comp->can('ACCEPT_CONTEXT') ) { + if ( eval { $comp->can('ACCEPT_CONTEXT'); } ) { return $comp->ACCEPT_CONTEXT($c); } else { return $comp } @@ -447,14 +445,7 @@ sub view { Returns or takes a hashref containing the application's configuration. - __PACKAGE__->config({ db => 'dsn:SQLite:foo.db' }); - -You can also use a L config file like myapp.json in your -applications home directory. - - { - "db": "dsn:SQLite:foo.db" - } + __PACKAGE__->config( { db => 'dsn:SQLite:foo.db' } ); =head2 $c->debug @@ -592,18 +583,6 @@ sub setup { $class->setup_home( delete $flags->{home} ); - # JSON config support - my $confpath = $class->config->{file} - || $class->path_to( - ( Catalyst::Utils::appprefix( ref $class || $class ) . '.json' ) ); - my $conf = {}; - if ( -f $confpath ) { - my $content = read_file("$confpath"); - $conf = jsonToObj($content); - } - 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} ); @@ -1585,7 +1564,7 @@ sub setup_components { } Catalyst::Exception->throw( message => -qq/Couldn't instantiate component "$component", "new() didn't return a object"/ +qq/Couldn't instantiate component "$component", "COMPONENT() didn't return a object"/ ) unless ref $instance; return $instance;