method

symbolic_modes_to_i

Importance_0
v1_9_3_125 - Show latest stable - 0 notes - Class: FileUtils
symbolic_modes_to_i(modes, path) public

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/fileutils.rb, line 907
  def symbolic_modes_to_i(modes, path)  #:nodoc:
    current_mode = (File.stat(path).mode & 07777)
    modes.split(/,/).inject(0) do |mode, mode_sym|
      mode_sym = "a#{mode_sym}" if mode_sym =~ %^[+-=]!
      target, mode = mode_sym.split %[+-=]!
      user_mask = user_mask(target)
      mode_mask = mode_mask(mode ? mode : "", path)

      case mode_sym
        when /=/
          current_mode &= ~(user_mask)
          current_mode |= user_mask & mode_mask
        when /\+/
          current_mode |= user_mask & mode_mask
        when /-/
          current_mode &= ~(user_mask & mode_mask)
      end
    end
  end
Register or log in to add new notes.