1 package MooseX::Storage::Engine::IO::AtomicFile;
7 extends 'MooseX::Storage::Engine::IO::File';
10 my ($self, $data) = @_;
11 my $fh = IO::AtomicFile->new($self->file, 'w')
12 || confess "Unable to open file (" . $self->file . ") for storing : $!";
13 $fh->binmode(':utf8') if utf8::is_utf8($data);
16 || confess "Could not write atomic file (" . $self->file . ") because: $!";
27 MooseX::Storage::Engine::IO::AtomicFile - The actually atomic file storage mechanism.
31 This provides the actual means to store data to a file atomically.
41 =item B<store ($data)>
55 All complex software has bugs lurking in it, and this module is no
56 exception. If you find a bug please either email me, or add the bug
61 Chris Prather E<lt>chris.prather@iinteractive.comE<gt>
63 Stevan Little E<lt>stevan.little@iinteractive.comE<gt>
65 =head1 COPYRIGHT AND LICENSE
67 Copyright 2007-2008 by Infinity Interactive, Inc.
69 L<http://www.iinteractive.com>
71 This library is free software; you can redistribute it and/or modify
72 it under the same terms as Perl itself.