Merge branch 'master' into engine_traits
[gitmo/MooseX-Storage.git] / lib / MooseX / Storage / Util.pm
index e0ddcb7..fdfbf96 100644 (file)
@@ -2,8 +2,9 @@ package MooseX::Storage::Util;
 use Moose qw(confess blessed);
 
 use MooseX::Storage::Engine ();
+use utf8 ();
 
-our $VERSION   = '0.02';
+our $VERSION   = '0.18';
 our $AUTHORITY = 'cpan:STEVAN';
 
 sub peek {
@@ -30,11 +31,12 @@ sub peek {
 
 sub _inflate_json {
     my ($class, $json) = @_;
-    
-    require JSON::Any;
-    eval { JSON::Any->import };
+
+    eval { require JSON::Any; JSON::Any->import };
     confess "Could not load JSON module because : $@" if $@; 
     
+    utf8::encode($json) if utf8::is_utf8($json);    
+    
     my $data = eval { JSON::Any->jsonToObj($json) };
     if ($@) {
         confess "There was an error when attempting to peek at JSON: $@";
@@ -49,7 +51,6 @@ sub _inflate_yaml {
     require Best; 
     eval { Best->import([[ qw[YAML::Syck YAML] ]]) };
     confess "Could not load YAML module because : $@" if $@; 
-        
     
     my $inflater = Best->which('YAML::Syck')->can('Load');
     
@@ -140,7 +141,7 @@ Stevan Little E<lt>stevan.little@iinteractive.comE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2007 by Infinity Interactive, Inc.
+Copyright 2007-2008 by Infinity Interactive, Inc.
 
 L<http://www.iinteractive.com>