aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support.rb2
-rw-r--r--activesupport/lib/active_support/basic_object.rb6
-rw-r--r--activesupport/lib/active_support/duration.rb4
3 files changed, 9 insertions, 3 deletions
diff --git a/activesupport/lib/active_support.rb b/activesupport/lib/active_support.rb
index 28424dd6a7..33ed840aa7 100644
--- a/activesupport/lib/active_support.rb
+++ b/activesupport/lib/active_support.rb
@@ -24,7 +24,7 @@
$:.unshift(File.dirname(__FILE__))
$:.unshift(File.dirname(__FILE__) + "/active_support/vendor")
-require 'builder'
+require 'active_support/basic_object'
require 'active_support/inflector'
diff --git a/activesupport/lib/active_support/basic_object.rb b/activesupport/lib/active_support/basic_object.rb
new file mode 100644
index 0000000000..7a3d1a9ed0
--- /dev/null
+++ b/activesupport/lib/active_support/basic_object.rb
@@ -0,0 +1,6 @@
+# Ruby 1.9 introduces BasicObject. Use Builder's BlankSlate before then.
+unless defined? BasicObject
+ require 'rubygems'
+ require 'builder'
+ BasicObject = Builder::BlankSlate
+end
diff --git a/activesupport/lib/active_support/duration.rb b/activesupport/lib/active_support/duration.rb
index 0d3016a690..fd9b505c2f 100644
--- a/activesupport/lib/active_support/duration.rb
+++ b/activesupport/lib/active_support/duration.rb
@@ -4,7 +4,7 @@ module ActiveSupport
# such as in this example:
#
# 1.month.ago # equivalent to Time.now.advance(:months => -1)
- class Duration < Builder::BlankSlate
+ class Duration < BasicObject
attr_accessor :value, :parts
def initialize(value, parts) #:nodoc:
@@ -83,4 +83,4 @@ module ActiveSupport
value.send(method, *args)
end
end
-end \ No newline at end of file
+end