Sha256: 35f1adfbbbd4cfaffbb003d71da8c80278aa9a0ce83249bda454e6b65758f4be

Contents?: true

Size: 587 Bytes

Versions: 1

Compression:

Stored size: 587 Bytes

Contents

module Imap::Backup
  class Serializer::PermissionChecker
    attr_reader :filename
    attr_reader :limit

    def initialize(filename:, limit:)
      @filename = filename
      @limit = limit
    end

    def run
      actual = FileMode.new(filename: filename).mode
      return nil if actual.nil?

      mask = ~limit & 0o777
      return if (actual & mask).zero?

      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
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
imap-backup-10.0.0 lib/imap/backup/serializer/permission_checker.rb