module LightIO::Module::IO
Public Class Methods
convert_to_io(io)
click to toggle source
helper methods
# File lib/lightio/module/io.rb, line 11 def convert_to_io(io) unless io.respond_to?(:to_io) raise TypeError, "no implicit conversion of #{io.class} into IO" end to_io = io.is_a?(LightIO::Library::IO) ? io : io.to_io unless to_io.is_a?(LightIO::Library::IO) raise TypeError, "can't convert #{io.class} to IO (#{io.class}#to_io gives #{to_io.class})" unless to_io.is_a?(::IO) # try wrap raw io instead of raise error wrapped_io = to_io.instance_variable_get(:@_lightio_wrapped_io) unless wrapped_io wrapped_io = LightIO::Library::IO._wrap(to_io) to_io.instance_variable_set(:@_lightio_wrapped_io, wrapped_io) end to_io = wrapped_io # raise TypeError, "can't process raw IO, use LightIO::IO._wrap(obj) to wrap it" end to_io end
get_io_watcher(io)
click to toggle source
# File lib/lightio/module/io.rb, line 31 def get_io_watcher(io) unless io.is_a?(LightIO::Library::IO) io = convert_to_io(io) end io.__send__(:io_watcher) end