X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FStorage%2FEngine%2FIO%2FAtomicFile.pm;h=306cdf55de0c90ae3c57f9cc3ab27c72dc5e901f;hb=a99b06bc698f521b77656a1015fb4c572e39dfeb;hp=41535e76deef7547a98c80d912d188d89a2aff64;hpb=b477f392a4f593b3a02da32676b960522ace530f;p=gitmo%2FMooseX-Storage.git diff --git a/lib/MooseX/Storage/Engine/IO/AtomicFile.pm b/lib/MooseX/Storage/Engine/IO/AtomicFile.pm index 41535e7..306cdf5 100644 --- a/lib/MooseX/Storage/Engine/IO/AtomicFile.pm +++ b/lib/MooseX/Storage/Engine/IO/AtomicFile.pm @@ -2,13 +2,19 @@ package MooseX::Storage::Engine::IO::AtomicFile; use Moose; +use utf8 (); use IO::AtomicFile; +our $VERSION = '0.27'; +our $AUTHORITY = 'cpan:STEVAN'; + extends 'MooseX::Storage::Engine::IO::File'; sub store { my ($self, $data) = @_; - my $fh = IO::AtomicFile->new($self->file, 'w'); + my $fh = IO::AtomicFile->new($self->file, 'w') + || confess "Unable to open file (" . $self->file . ") for storing : $!"; + $fh->binmode(':utf8') if utf8::is_utf8($data); print $fh $data; $fh->close() || confess "Could not write atomic file (" . $self->file . ") because: $!"; @@ -62,7 +68,7 @@ Stevan Little Estevan.little@iinteractive.comE =head1 COPYRIGHT AND LICENSE -Copyright 2007 by Infinity Interactive, Inc. +Copyright 2007-2008 by Infinity Interactive, Inc. L