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.



866
867
868
869
870
871
872
873
874
875
876
877
# File 'lib/inline.rb', line 866

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