Module: General

Defined in:
lib/robust_excel_ole/general.rb

Defined Under Namespace

Classes: NetworkDrive

Constant Summary collapse

IS_JRUBY_PLATFORM =
(RUBY_PLATFORM =~ /java/)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.normalize_drive_letter(drive) ⇒ Object



38
39
40
# File 'lib/robust_excel_ole/general.rb', line 38

def self.normalize_drive_letter(drive)
  drive.upcase.end_with?(':') ? drive : "#{drive}:"
end

Instance Method Details

#network2hostnamesharepath(filename) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/robust_excel_ole/general.rb', line 27

def network2hostnamesharepath(filename)
  network = WIN32OLE.new('WScript.Network')
  drives = network.enumnetworkdrives
  drive_letter, filename_after_drive_letter = filename.split(':')
  drive_letter = normalize_drive_letter(drive_letter)
  network_drives = NetworkDrive.get_all(drives)
  network_drive = network_drives.find{ |d| d.drive_letter == drive_letter }
  return filename unless network_drive
  return network_drive.network_name + filename_after_drive_letter
end