[#393742] Getting the class of an object. — Ralph Shnelvar <ralphs@...32.com>

Consider;

14 messages 2012/03/06

[#393815] arcadia IDE requires tcl/tk and ruby-tk — Thufir Hawat <hawat.thufir@...>

which or where tcl and tk does arcadia require? Is this a gem which I

13 messages 2012/03/13

[#393952] What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...>

Hi!

18 messages 2012/03/21
[#393953] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

Active Support has recently added qualified_const_* methods to Module

[#393954] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

Ah, that won't work in 1.8.

[#393959] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/21

On Wed, Mar 21, 2012 at 16:43, Xavier Noria <fxn@hashref.com> wrote:

[#393960] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

On Wed, Mar 21, 2012 at 8:17 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#393961] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/21

On Wed, Mar 21, 2012 at 20:48, Xavier Noria <fxn@hashref.com> wrote:

[#393962] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

On Wed, Mar 21, 2012 at 9:51 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#393967] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/22

On Wed, Mar 21, 2012 at 22:11, Xavier Noria <fxn@hashref.com> wrote:

[#393969] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/22

On Thu, Mar 22, 2012 at 6:15 AM, Nikolai Weibull <now@bitwi.se> wrote:

[#394154] uninitialized constant SOCKSSocket — Resident Moron <lists@...>

I am running ruby 1.9.3 on a linux box. I would like to use

10 messages 2012/03/29

[#394160] Why z = Complex(1,2) rather than z = Complex.new(1,2)? — Ori Ben-Dor <lists@...>

What's this syntax, z = Complex(1,2), as opposed to z =

14 messages 2012/03/29

[#394175] shoes no such file to load -- rubygems — Mr theperson <lists@...>

I have installed shoes to develop GUI applications but when I try and

13 messages 2012/03/29

[#394201] Can't open url with a subdomain with an underscore — Jeroen van Ingen <lists@...>

I try to open the following URL: http://auto_diversen.marktplaza.nl/

10 messages 2012/03/30

[#394222] Ruby openssl ECC help plz — no name <lists@...>

I am confused on how to properly export public ECC key. I can see it

13 messages 2012/03/31

[ANN] sync-defer 0.9.2 released

From: "Lin Jen-Shin (godfat)" <godfat@...>
Date: 2012-03-19 18:19:02 UTC
List: ruby-talk #393935
# sync-defer <https://github.com/godfat/sync-defer>

by Lin Jen-Shin ([godfat](http://godfat.org))

## DESCRIPTION:

Synchronous deferred operations with fibers (coroutines)

## INSTALLATION:

    gem install sync-defer

### SYNOPSIS:

Remember to wrap a fiber around the client, and inside the client:

* Generic interface which would select underneath reactor
automatically:


      # Single computation:
      puts(SyncDefer.defer{
                             sleep(5) # any CPU-bound operations
                             100})    # 100
      puts "DONE"

      # Multiple computations:
      puts(SyncDefer.defer(lambda{
                             sleep(5) # any CPU-bound operations
                             100
                           },
                           lambda{
                             sleep(2) # any CPU-bound operations
                             50}))    # [100, 50] # it would match the
index
      puts "DONE"


  Full examples with reactor turned on:

* with cool.io:


      # only for adding at least one watcher in the loop
      Coolio::TimerWatcher.new(1).
        attach(Coolio::Loop.default).on_timer{detach}

      Fiber.new{
        # or Coolio::SyncDefer
        SyncDefer.defer{ sleep(5) }
        puts "DONE"
      }.resume
      Coolio::Loop.default.run


* with eventmachine:


      EM.run{
        Fiber.new{
          # or EM::SyncDefer
          SyncDefer.defer{ sleep(5) }
          puts "DONE"
          EM.stop
        }.resume
      }


* No problems with exceptions, use them as normal:


      EM.run{
        Fiber.new{
          begin
            SyncDefer.defer{ raise "BOOM" }
          rescue => e
            p e
          end
          EM.stop
        }.resume
      }


## CHANGES:

### sync-defer 0.9.2 -- 2012-03-20

* Properly select the reactor.

* Made it exception aware. If there's an exception raised in the
  computation, sync-defer would resume back and raise that exception.

In This Thread

Prev Next