comparison app/models/user_preference.rb @ 1115:433d4f72a19b redmine-2.2

Update to Redmine SVN revision 11137 on 2.2-stable branch
author Chris Cannam
date Mon, 07 Jan 2013 12:01:42 +0000
parents 5f33065ddc4b
children 622f24f53b42 261b3d9a4903
comparison
equal deleted inserted replaced
929:5f33065ddc4b 1115:433d4f72a19b
1 # Redmine - project management software 1 # Redmine - project management software
2 # Copyright (C) 2006-2011 Jean-Philippe Lang 2 # Copyright (C) 2006-2012 Jean-Philippe Lang
3 # 3 #
4 # This program is free software; you can redistribute it and/or 4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License 5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2 6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version. 7 # of the License, or (at your option) any later version.
19 belongs_to :user 19 belongs_to :user
20 serialize :others 20 serialize :others
21 21
22 attr_protected :others, :user_id 22 attr_protected :others, :user_id
23 23
24 def initialize(attributes = nil) 24 before_save :set_others_hash
25
26 def initialize(attributes=nil, *args)
25 super 27 super
26 self.others ||= {} 28 self.others ||= {}
27 end 29 end
28 30
29 def before_save 31 def set_others_hash
30 self.others ||= {} 32 self.others ||= {}
31 end 33 end
32 34
33 def [](attr_name) 35 def [](attr_name)
34 if attribute_present? attr_name 36 if attribute_present? attr_name
40 42
41 def []=(attr_name, value) 43 def []=(attr_name, value)
42 if attribute_present? attr_name 44 if attribute_present? attr_name
43 super 45 super
44 else 46 else
45 h = read_attribute(:others).dup || {} 47 h = (read_attribute(:others) || {}).dup
46 h.update(attr_name => value) 48 h.update(attr_name => value)
47 write_attribute(:others, h) 49 write_attribute(:others, h)
48 value 50 value
49 end 51 end
50 end 52 end