aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/algebra/core_extensions/object.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/algebra/core_extensions/object.rb')
-rw-r--r--lib/arel/algebra/core_extensions/object.rb13
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