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.



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

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