diff options
Diffstat (limited to 'lib/arel')
-rw-r--r-- | lib/arel/algebra/core_extensions/object.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/arel/algebra/core_extensions/object.rb b/lib/arel/algebra/core_extensions/object.rb index 85a4d951a4..82fa28546c 100644 --- a/lib/arel/algebra/core_extensions/object.rb +++ b/lib/arel/algebra/core_extensions/object.rb @@ -12,6 +12,19 @@ module Arel yield(self) end + # TODO remove this when ActiveSupport beta1 is out. + # Returns the object's singleton class. + def singleton_class + class << self + self + end + end unless respond_to?(:singleton_class) + + # class_eval on an object acts like singleton_class_eval. + def class_eval(*args, &block) + singleton_class.class_eval(*args, &block) + end + Object.send(:include, self) end end |