Module: General

Defined in:
lib/robust_excel_ole/general.rb

Constant Summary collapse

IS_JRUBY_PLATFORM =
(RUBY_PLATFORM =~ /java/)

Instance Method Summary collapse

Instance Method Details

#network2hostnamesharepath(filename) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/robust_excel_ole/general.rb', line 14

def network2hostnamesharepath(filename)
  network = WIN32OLE.new('WScript.Network')
  drives = network.enumnetworkdrives
  drive_letter, filename_after_drive_letter = filename.split(':') 
  # if filename starts with a drive letter not c and this drive exists,
  # then determine the corresponding host_share_path
  default_drive = File.absolute_path(".")[0]
  if drive_letter != default_drive && drive_letter != filename  
    for i in 0 .. drives.Count-1
      next if i % 2 == 1
      if drives.Item(i).gsub(':','') == drive_letter
        hostname_share = drives.Item(i+1)  #.gsub('\\','/').gsub('//','')
        break
      end
    end
    hostname_share + filename_after_drive_letter if hostname_share
  else
    return filename
  end
end