delay loading all optional prereqs until runtime
[gitmo/MooseX-Storage.git] / lib / MooseX / Storage / IO / StorableFile.pm
index a42e3f6..d97f6a0 100644 (file)
@@ -1,13 +1,14 @@
 package MooseX::Storage::IO::StorableFile;
 use Moose::Role;
 
-use Storable ();
-
 requires 'pack';
 requires 'unpack';
 
 sub load {
     my ( $class, $filename, @args ) = @_;
+
+    require Storable;
+
     # try thawing
     return $class->thaw( Storable::retrieve($filename), @args )
         if $class->can('thaw');
@@ -17,6 +18,9 @@ sub load {
 
 sub store {
     my ( $self, $filename, @args ) = @_;
+
+    require Storable;
+
     Storable::nstore(
         # try freezing, otherwise just pack
         ($self->can('freeze') ? $self->freeze(@args) : $self->pack(@args)),