class FileDiscard::LinuxDiscarder

Public Class Methods

new(home = '~') click to toggle source
Calls superclass method FileDiscard::Discarder::new
# File lib/file_discard.rb, line 212
def initialize(home = '~')
  super home, '.local/share/Trash/files', '.Trash-%s/files'
end

Private Instance Methods

move(*args) click to toggle source

Linux has a special layout for the trash folder and tracking for restore. See www.freedesktop.org/wiki/Specifications/trash-spec/

Calls superclass method FileDiscard::Discarder#move
# File lib/file_discard.rb, line 219
      def move(*args)
        super do |src, dst|
          infodir = dst.dirname.dirname.join('info')
          infodir.directory? or infodir.mkpath
          infodir.join("#{dst.basename}.trashinfo").open('w') do |io|
            io.write <<EOF
[Trash Info]
Path=#{src}
DeletionDate=#{Time.now.strftime('%Y-%m-%dT%H:%M:%S')}
EOF
          end
        end
      end