# Activerecord status with r110

**URL:** <https://www.ruby-forum.com/t/activerecord-status-with-r110/137844>\
**Category:** IronRuby\
**Created:** [May 16, 2008, 9:03pm UTC](https://www.ruby-forum.com/t/activerecord-status-with-r110/137844 "2008-05-16T21:03:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Brian\_Blackwell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/c4cdca/32.png) [@Brian\_Blackwell](https://www.ruby-forum.com/u/Brian_Blackwell)\
**Post date:** [May 16, 2008, 9:03pm UTC](https://www.ruby-forum.com/t/activerecord-status-with-r110/137844/1 "2008-05-16T21:03:47Z")

</div>

As a supplement to Wayne’s work with “gems setup.rb”, here is a quick  
status update with “require ‘active\_record’” with r110. The following  
bugs or unimplemented features are currently blocking active\_record from  
loading correctly:

(1) define\_method overload not implemented - bug #20119  
(2) Thread.critical= not implemented  
(3) Regexp.new overloads not implemented (see Wayne’s email)  
(4) require infinite loop - bug #20131  
(5) Kernel.caller not implemented  
(6) Dir.glob pattern bug #19843, #19950  
(7) Array.pack not implemented  
(8) Class variable assignment expression bug (e.g. @@x ||= 123) - bug  
#19901  
(9) bigdecimal not implemented

I have managed to get “require ‘active\_record’” to work by applying my  
own patches and workarounds for the above issues. I will try to get some  
simple activerecord use cases up and running shortly…

-Brian

---

<div class="post-metadata">

**Author:** ![Brian\_Blackwell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/c4cdca/32.png) [@Brian\_Blackwell](https://www.ruby-forum.com/u/Brian_Blackwell)\
**Post date:** [May 16, 2008, 11:55pm UTC](https://www.ruby-forum.com/t/activerecord-status-with-r110/137844/2 "2008-05-16T23:55:20Z")

</div>

Do you have any feeling for how these programs are using  
thread.critical=?

---

<div class="post-metadata">

**Author:** ![Brian\_Blackwell](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/c4cdca/32.png) [@Brian\_Blackwell](https://www.ruby-forum.com/u/Brian_Blackwell)\
**Post date:** [May 17, 2008, 2:02am UTC](https://www.ruby-forum.com/t/activerecord-status-with-r110/137844/3 "2008-05-17T02:02:59Z")

</div>

On Fri, 16 May 2008 14:54:32 -0700, “Curt H.”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) said:

> Do you have any feeling for how these programs are using  
> thread.critical=?

It’s used by just one method in activesupport, instance\_exec (which  
seems to be a built-in method in Ruby 1.9). Here is the method from  
active\_support\core\_ext\object\extending.rb:

unless defined? instance\_exec # 1.9  
module InstanceExecMethods #:nodoc:  
end  
include InstanceExecMethods

```
# Evaluate the block with the given arguments within the context of
# this object, so self is set to the method receiver.
#
# From Mauricio's
http://eigenclass.org/hiki/bounded+space+instance_exec
def instance_exec(*args, &block)
  begin
    old_critical, Thread.critical = Thread.critical, true
    n = 0
    n += 1 while respond_to?(method_name = "__instance_exec#{n}")
    InstanceExecMethods.module_eval { define_method(method_name,
    &block) }
  ensure
    Thread.critical = old_critical
  end

  begin
    send(method_name, *args)
  ensure
    InstanceExecMethods.module_eval { remove_method(method_name) }
    rescue nil
  end
end

```

end

Cheers,  
Brian
