После долгих поисков решения и даже пытаясь спросить на канале #ruby на Freenode и будучи полностью проигнорированным, я наконец нашел решение:
def to_ip(addr)
(4...8).map{|x|addr[x]}.join('.')
end
socket = Socket.for_fd(STDIN.fileno)
ip = to_ip(socket.getpeername)
Надеюсь, это кому-нибудь поможет!