There are several classes that define @var instance variables at class level.
For example:

https://github.com/apache/whimsy/blob/master/lib/whimsy/asf/svn.rb#L12

This defines

 @semaphore = Mutex.new

in the body of the class.

I would expect to see a class variable at this point, i.e.

 @@semaphore = Mutex.new

This is done later for a different variable:

https://github.com/apache/whimsy/blob/master/lib/whimsy/asf/svn.rb#L17

What is the reason for using instance variables here?

AFAICT in this case the class is only expected to be used as a singleton.
It could/should be a Module instead?

Reply via email to