Failing gracefully if Memoize::Memcached is not installed
authorChris Cormack <chris@bigballofwax.co.nz>
Mon, 24 Aug 2009 03:37:00 +0000 (15:37 +1200)
committerGalen Charlton <gmcharlt@gmail.com>
Mon, 24 Aug 2009 11:33:02 +0000 (07:33 -0400)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
C4/Languages.pm

index 6bb9146..971cc96 100644 (file)
@@ -2,7 +2,7 @@ package C4::Languages;
 
 # Copyright 2006 (C) LibLime
 # Joshua Ferraro <jmf@liblime.com>
-#
+# Portions Copyright 2009 Chris Cormack and the Koha Dev Team
 # This file is part of Koha.
 #
 # Koha is free software; you can redistribute it and/or modify it under the
@@ -25,17 +25,19 @@ use Carp;
 use C4::Context;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
 
-
-use Memoize::Memcached
-      memcached => {
+eval {
+    require Memoize::Memcached;
+    import Memoize::Memcached qw(memoize_memcached);
+    my $memcached = {
         servers    => [ C4::Context->config('memcached_servers') ],
         key_prefix => C4::Context->config('memcached_namespace'),
-      };
-
-memoize_memcached('getTranslatedLanguages', expire_time => 600); #cache for 10 minutes
-memoize_memcached('getFrameworkLanguages' , expire_time => 600);
-memoize_memcached('getAllLanguages',        expire_time => 600);
+    };
 
+    memoize_memcached('getTranslatedLanguages', memcached => $memcached, expire_time => 600); #cache for 10 minutes
+    memoize_memcached('getFrameworkLanguages' , memcached => $memcached, expire_time => 600);
+    memoize_memcached('getAllLanguages',        memcached => $memcached, expire_time => 600);
+};
 
 BEGIN {
     $VERSION = 3.00;