Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- INTERFACE_MAP = {
- :linux => {
- :methods => {
- :ifconfig => {
- :exec => '/sbin/ifconfig',
- :token => 'inet addr: ',
- },
- :ip => {
- :exec => '/sbin/ip addr show',
- :token => 'inet ',
- },
- },
- },
- }
- def self.find_exec
- kernel = Facter.value(:kernel).downcase.to_sym
- unless map = INTERFACE_MAP[kernel] || INTERFACE_MAP.values.find { |tmp| tmp[:aliases] and tmp[:aliases].include?(kernel)
- }
- return []
- end
- methods = map[:methods]
- methods.each do |method|
- # Strip back to just the file
- file = method[:exec].split(' ').first
- if FileTest.exists?(file)
- return method
- break
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement