Sha256: a4f1399f6c58a6418fb432e1fb184ae0bbba3a4c4143685281e7e6f73309272c

Contents?: true

Size: 411 Bytes

Versions: 3

Compression:

Stored size: 411 Bytes

Contents

require 'fastthread'
class AsyncFu
  def initialize(obj = nil)
    @class = obj || self
    at_exit{
      unless @exit
        until Thread.list.size == 1 do Thread.pass end
      end
    }
  end
  def method_missing(name, *args)
    if @class.respond_to?(name)
      Thread.new{
        @class.send name, *args
      }
    else
      @class.send name, *args
    end
  end
  def exit
    @exit = true
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
amirka-async-fu-1.1.2 lib/async_fu.rb
amirka-async-fu-1.1.3 lib/async_fu.rb
amirka-async-fu-1.1.4 lib/async_fu.rb