module XcodeTrashRemover::Core

Public Instance Methods

check_volumes() click to toggle source
# File lib/xcode_trash_remover/core.rb, line 7
def check_volumes
  puts 'Dir             size'
  puts
  puts "DerivedData     #{deriveddata_size.pretty}"
  puts "Archives        #{archives_size.pretty}"
  puts "XCPGDevices     #{xcpgdevices_size.pretty}"
  puts "CoreSimulator   #{coresimulator_devices_size.pretty}"
  puts
end
remove_trash() click to toggle source
# File lib/xcode_trash_remover/core.rb, line 17
def remove_trash
  total = total_size
  remove_dirs

  puts "Total           #{total.pretty}"
  puts '-'
  puts 'The directories are empty. No trash files.' if total.zero?
  puts "#{total.pretty} removed!" unless total.zero?
end

Private Instance Methods

remove_dir(dir) click to toggle source
# File lib/xcode_trash_remover/core.rb, line 76
def remove_dir(dir)
  FileUtils.rm_rf(dir.gsub(/ /, '\ '))
end
remove_dirs() click to toggle source
# File lib/xcode_trash_remover/core.rb, line 29
def remove_dirs
  dirs = [
    XcodeDir.deriveddata, XcodeDir.archives,
    XcodeDir.xcpgdevices, XcodeDir.coresimulator_devices
  ]

  dirs.each do |dir|
    dir.each do |subdir|
      remove_dir(subdir)
    end
  end
end
total_size() click to toggle source
# File lib/xcode_trash_remover/core.rb, line 64
def total_size
  [deriveddata_size,
   archives_size,
   xcpgdevices_size,
   coresimulator_devices_size].reduce(:+)
end
trash_size(dir) click to toggle source
# File lib/xcode_trash_remover/core.rb, line 71
def trash_size(dir)
  return 0 if dir.empty?
  dir.reduce(0) { |size, subdir| size += SizeHelper.dir_size(subdir) }
end