On Dec 3, 2007, at 4:38 PM, Ian Docherty wrote:
Tatsuhiko Miyagawa wrote:
On 12/3/07, Ian Docherty <[EMAIL PROTECTED]> wrote:
On looking at the code for C::V::JSON it creates a new JSON::Any
object
but does not pass on any parameters (probably because there is no
standard parameter mappings for the different JSON modules).
I am at a loss as to how to do this without writing my own
C::V::JSON
Can you s/writing my own/submtiting a patch for/?
A quick patch that works for me, please see if it is compatible with
the way you want the code to work. (Apologies if the patch is not
correct, I am not too familiar with creating patch files).
Although I like the idea, this patch will blow up on anyone who is
already using the package, as you don't provide any defaults for the
new accessor. You probably want to replace:
my $json = JSON::Any->new(%{$self->params}); # create the copy of JSON
handler
with
my $json = JSON::Any->new( %{ $self->params || {} } ); # create the
copy of JSON handler
@@ -9,7 +9,7 @@
use Catalyst::Exception;
require JSON::Any;
-__PACKAGE__->mk_accessors(qw( allow_callback callback_param
expose_stash encoding json_dumper no_x_json_header ));
+__PACKAGE__->mk_accessors(qw( params allow_callback callback_param
expose_stash encoding json_dumper no_x_json_header ));
sub new {
my($class, $c, $arguments) = @_;
@@ -29,7 +29,7 @@
eval {
JSON::Any->import($driver);
- my $json = JSON::Any->new; # create the copy of JSON handler
+ my $json = JSON::Any->new(%{$self->params}); # create the
copy of JSON handler
$self->json_dumper(sub { $json->objToJson($_[0]) });
};
@@ -134,6 +134,7 @@
MyApp->config({
...
'View::JSON' => {
+ params => {pretty => 1, indent => 2}, # pass
params to the JSON module
allow_callback => 1, # defaults to 0
callback_param => 'cb', # defaults to 'callback'
expose_stash => [ qw(foo bar) ], # defaults to
everything
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[EMAIL PROTECTED]/
Dev site: http://dev.catalyst.perl.org/
--
Jason Kohles, RHCA RHCDS RHCE
[EMAIL PROTECTED] - http://www.jasonkohles.com/
"A witty saying proves nothing." -- Voltaire
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[EMAIL PROTECTED]/
Dev site: http://dev.catalyst.perl.org/