Sha256: c9d9bfce730f73df0718d7e0cb97ca574e9c3cd87ec70dc5ed372886be6a7694
Contents?: true
Size: 950 Bytes
Versions: 3
Compression:
Stored size: 950 Bytes
Contents
require "fileutils" module Imap::Backup module Utils def self.check_permissions(filename, limit) actual = stat(filename) return nil if actual.nil? mask = ~limit & 0o777 if actual & mask != 0 message = format( "Permissions on '%<filename>s' " \ "should be 0%<limit>o, not 0%<actual>o", filename: filename, limit: limit, actual: actual ) raise message end end def self.stat(filename) return nil unless File.exist?(filename) stat = File.stat(filename) stat.mode & 0o777 end def self.make_folder(base_path, path, permissions) parts = path.split("/") return if parts.size == 0 full_path = File.join(base_path, path) FileUtils.mkdir_p full_path path = base_path parts.each do |part| path = File.join(path, part) FileUtils.chmod permissions, path end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
imap-backup-1.4.2 | lib/imap/backup/utils.rb |
imap-backup-1.4.1 | lib/imap/backup/utils.rb |
imap-backup-1.4.0 | lib/imap/backup/utils.rb |