update is_supported with YAML::Syck version
[p5sagit/Config-Any.git] / lib / Config / Any / JSON.pm
index 954e305..3213128 100644 (file)
@@ -48,27 +48,35 @@ sub load {
     close $fh;
 
     eval { require JSON::Syck; };
-    if( $@ ) {
+    if ( $@ ) {
         require JSON;
-        JSON->import;
-        return jsonToObj( $content );
+        return JSON::jsonToObj( $content );
     }
     else {
         return JSON::Syck::Load( $content );
     }
 }
 
-=head1 AUTHOR
+=head2 is_supported( )
 
-=over 4 
+Returns true if either L<JSON::Syck> or L<JSON> is available.
 
-=item * Brian Cassidy E<lt>bricas@cpan.orgE<gt>
+=cut
 
-=back
+sub is_supported {
+    eval { require JSON::Syck; };
+    return 1 unless $@;
+    eval { require JSON; };
+    return $@ ? 0 : 1;
+}
+
+=head1 AUTHOR
+
+Brian Cassidy E<lt>bricas@cpan.orgE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2006 by Brian Cassidy
+Copyright 2007 by Brian Cassidy
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.