#99 ✓invalid
bahuvrihi

Use of ObjectSpace may be a JRuby conflict

Reported by bahuvrihi | 2008-09-10 09:11:48 UTC | 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

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.

New ticket Create new ticket

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.

People watching this ticket

Tags

Pages