From 8cda132136a766621b4c976cb1df7007d12ee6b5 Mon Sep 17 00:00:00 2001 From: thedarkone Date: Mon, 27 Sep 2010 14:51:31 +0200 Subject: [PATCH] Make InheritableOptions's constructor more flexible. --- activesupport/lib/active_support/configurable.rb | 2 +- activesupport/lib/active_support/ordered_options.rb | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/activesupport/lib/active_support/configurable.rb b/activesupport/lib/active_support/configurable.rb index 36634bd7f3b25..3d91560833290 100644 --- a/activesupport/lib/active_support/configurable.rb +++ b/activesupport/lib/active_support/configurable.rb @@ -30,7 +30,7 @@ def config superclass.config.inheritable_copy else # create a new "anonymous" class that will host the compiled reader methods - Class.new(Configuration).new({}) + Class.new(Configuration).new end end diff --git a/activesupport/lib/active_support/ordered_options.rb b/activesupport/lib/active_support/ordered_options.rb index 2b67e72cffa82..99c6c5a0c0253 100644 --- a/activesupport/lib/active_support/ordered_options.rb +++ b/activesupport/lib/active_support/ordered_options.rb @@ -36,8 +36,12 @@ def method_missing(name, *args) end class InheritableOptions < OrderedOptions - def initialize(parent) - super() { |h,k| parent[k] } + def initialize(parent = nil) + if parent + super() { |h,k| parent[k] } + else + super() + end end def inheritable_copy