require 'socket' | |
require 'resolv' | |
module Whimsy | |
# Are we the master node? | |
def self.master?() | |
Resolv::DNS.open do |rs| | |
master = rs.getaddress("whimsy.apache.org") # Official hostname as IP | |
current = rs.getaddress(Socket.gethostname) rescue nil # local as IP | |
return current == master | |
end | |
end | |
end | |
# for debugging purposes | |
if __FILE__ == $0 | |
puts Whimsy.master? | |
end |