X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=blobdiff_plain;f=lib%2FConfig%2FAny%2FJSON.pm;h=6e39d63e9ca3284f45ca3a91dd10657a3d54b0b3;hp=18b201f75cd51e89d1690459792d70c0379e24a3;hb=5d3ad6eb7bf1f5ac814bf92e9b7098b9b650414a;hpb=a918b0b8b7952db918dfabb8dc72bf34832d43d0 diff --git a/lib/Config/Any/JSON.pm b/lib/Config/Any/JSON.pm index 18b201f..6e39d63 100644 --- a/lib/Config/Any/JSON.pm +++ b/lib/Config/Any/JSON.pm @@ -3,6 +3,8 @@ package Config::Any::JSON; use strict; use warnings; +use base 'Config::Any::Base'; + =head1 NAME Config::Any::JSON - Load JSON config files @@ -50,13 +52,23 @@ sub load { eval { require JSON::Syck; }; if ( $@ ) { require JSON; - return JSON::jsonToObj( $content ); + eval { JSON->VERSION( 2 ); }; + return $@ ? JSON::jsonToObj( $content ) : JSON::from_json( $content ); } else { return JSON::Syck::Load( $content ); } } +=head2 requires_any_of( ) + +Specifies that this modules requires one of L or L in +order to work. + +=cut + +sub requires_any_of { 'JSON::Syck', 'JSON' } + =head1 AUTHOR Brian Cassidy Ebricas@cpan.orgE