Sha256: 7b61cda556c67fe9edfb36805f7f28989250268150e63303790bb6950f32186b
Contents?: true
Size: 941 Bytes
Versions: 2
Compression:
Stored size: 941 Bytes
Contents
module Astrails module Safe class Sink < Stream def process return unless active? save cleanup end protected # path is defined in subclass # base is used in 'cleanup' to find all files that begin with base. the '.' # at the end is essential to distinguish b/w foo.* and foobar.* archives for example def base @base ||= File.join(path, File.basename(@backup.filename).split(".").first + '.') end def full_path(filename = @backup.filename, extension = @backup.extension) File.join(path, filename) + extension end # call block on files to be removed (all except for the LAST 'limit' files def cleanup_with_limit(files, limit, &block) return unless files.size > limit to_remove = files[0..(files.size - limit - 1)] # TODO: validate here to_remove.each(&block) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
darkofabijan-astrails-safe-0.2.9 | lib/astrails/safe/sink.rb |
darkofabijan-astrails-safe-0.2.8 | lib/astrails/safe/sink.rb |