Class: Dir

Inherits:
Object
  • Object
show all
Defined in:
lib/inline.rb

Overview

class File

Class Method Summary collapse

Class Method Details

.assert_secure(path) ⇒ Object

assert_secure checks that if a path exists it has minimally writable permissions. If not, it prints an error and exits. It only works on POSIX systems. Patches for other systems are welcome.



892
893
894
895
896
897
898
899
900
901
902
903
# File 'lib/inline.rb', line 892

def self.assert_secure(path)
  mode = File.stat(path).mode
  unless ((mode % 01000) & 0022) == 0 then
    if $TESTING then
      raise SecurityError, "Directory #{path} is insecure"
    else
      abort "#{path} is insecure (#{'%o' % mode}). It may not be group or world writable. Exiting."
    end
  end
rescue Errno::ENOENT
  # If it ain't there, it's certainly secure
end