summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/user_preference.rb4
-rw-r--r--test/unit/user_preference_test.rb5
2 files changed, 7 insertions, 2 deletions
diff --git a/app/models/user_preference.rb b/app/models/user_preference.rb
index 37d114ab5..5fccf0485 100644
--- a/app/models/user_preference.rb
+++ b/app/models/user_preference.rb
@@ -33,7 +33,7 @@ class UserPreference < ActiveRecord::Base
end
def [](attr_name)
- if attribute_present? attr_name
+ if has_attribute? attr_name
super
else
others ? others[attr_name] : nil
@@ -41,7 +41,7 @@ class UserPreference < ActiveRecord::Base
end
def []=(attr_name, value)
- if attribute_present? attr_name
+ if has_attribute? attr_name
super
else
h = (read_attribute(:others) || {}).dup
diff --git a/test/unit/user_preference_test.rb b/test/unit/user_preference_test.rb
index b0092697f..d932286b9 100644
--- a/test/unit/user_preference_test.rb
+++ b/test/unit/user_preference_test.rb
@@ -55,6 +55,11 @@ class UserPreferenceTest < ActiveSupport::TestCase
assert_kind_of Hash, up.others
end
+ def test_others_should_be_blank_after_initialization
+ pref = User.new.pref
+ assert_equal({}, pref.others)
+ end
+
def test_reading_value_from_nil_others_hash
up = UserPreference.new(:user => User.new)
up.others = nil