# File lib/ffi-rzmq/poll_item.rb, line 18 def self.from_pollable(pollable) item = self.new item.pollable = pollable case when pollable.respond_to?(:socket) item.socket = pollable.socket when pollable.respond_to?(:posix_fileno) item.fd = pollable.posix_fileno when pollable.respond_to?(:io) item.fd = pollable.io.posix_fileno end item end