| def ls(dir) | |
| if File.directory?(dir) | |
| Dir.entries(dir).reject { |entry| entry == '.' || entry == '..' } | |
| else | |
| Array.new | |
| end | |
| end | |
| Facter.add('usb_devices') do | |
| confine :kernel => 'Linux' | |
| # udev rules configure the system to generate symlinks in this directory | |
| # when devices are connected to the machine (see: 60-persistent-serial.rules) | |
| setcode do | |
| ls('/dev/serial/by-path/') | |
| end | |
| end |