# File lib/em/future.rb, line 44 44: def self.future arg, cb=nil, eb=nil, &blk 45: arg = arg.call if arg.respond_to?(:call) 46: 47: if arg.respond_to?(:set_deferred_status) 48: if cb || eb 49: arg.callback(&cb) if cb 50: arg.errback(&eb) if eb 51: else 52: arg.callback(&blk) if blk 53: end 54: end 55: 56: arg 57: end