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 {
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: $@";
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');
return $data;
}
+sub _inflate_xml {
+ my ($class, $xml) = @_;
+
+ eval { require XML::Simple; XML::Simple->import };
+ confess "Could not load XML::Simple module because : $@" if $@;
+
+ my $data = eval { XMLin($xml, SuppressEmpty => 1) };
+ if ($@) {
+ confess "There was an error when attempting to peek at XML: $@";
+ }
+
+ return $data;
+}
+
1;
__END__
=head1 COPYRIGHT AND LICENSE
-Copyright 2007 by Infinity Interactive, Inc.
+Copyright 2007-2008 by Infinity Interactive, Inc.
L<http://www.iinteractive.com>