Use of ObjectSpace may be a JRuby conflict
Reported by bahuvrihi | September 10th, 2008 @ 09:11 AM | in Tap-0.11.0
The current mod_declare used in declarations may conflict with JRuby because it uses ObjectSpace (which JRuby disables by default):
def mod_declare(klass, declaration, configs={}, &block)
options = {}
options[:arity] = arity(block) if block_given?
subclass = declare(klass, declaration, configs, options)
if block_given?
mod = Module.new
mod.module_eval %Q{
ACTION = ObjectSpace._id2ref(#{block.object_id})
def process(*args)
results = super
case ACTION.arity
when 0 then ACTION.call
when 1 then ACTION.call(self)
else ACTION.call(self, *args)
end
results
end
}
subclass.send(:include, mod)
end
subclass.instance
end
I haven't tested for a conflict, but this is another suggestion that mod_declare is going about things in the wrong way.
Comments and changes to this ticket
-
bahuvrihi September 10th, 2008 @ 09:58 AM
- Milestone set to Tap-0.11.0
-
bahuvrihi September 30th, 2008 @ 03:52 PM
- State changed from new to invalid
ObjectSpace is no longer used in this way.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
A framework for making configurable, file-based tasks and workflows.