lib/device/library/windows.rb in narou-2.9.4 vs lib/device/library/windows.rb in narou-2.9.5

- old
+ new

@@ -1,34 +1,39 @@ # -*- coding: utf-8 -*- # # Copyright 2013 whiteleaf. All rights reserved. # +# rubocop:disable Style/VariableName + require "win32ole" require_relative "../../extensions/windows" +require_relative "windows/eject" -module Device::Library - module Windows - def get_device_root_dir(volume_name) - @@FileSystemObject ||= WIN32OLE.new("Scripting.FileSystemObject") - get_drives.each do |drive_letter| - drive_info = @@FileSystemObject.GetDrive(drive_letter) - vol = drive_info.VolumeName rescue "" - if vol.downcase == volume_name.downcase - return File.expand_path(drive_letter) +class Device + module Library + module Windows + def get_device_root_dir(volume_name) + @@FileSystemObject ||= WIN32OLE.new("Scripting.FileSystemObject") + drives.each do |drive_letter| + drive_info = @@FileSystemObject.GetDrive(drive_letter) + vol = drive_info.VolumeName rescue "" + if vol.casecmp(volume_name) == 0 + return File.expand_path(drive_letter) + end end + nil end - nil - end - def get_drives - result = [] - bits = WinAPI.GetLogicalDrives - 26.times do |i| - if bits & (1 << i) != 0 - result << "#{(65 + i).chr}:\\" + def drives + result = [] + bits = WinAPI.GetLogicalDrives + 26.times do |i| + if bits & (1 << i) != 0 + result << "#{(65 + i).chr}:\\" + end end + result end - result end end end