public
Fork of vigetlabs/crash_cart
Description: Tools to manage ExpressionEngine ... maybe.
Clone URL: git://github.com/reagent/crash_cart.git
Refactor preference getters/setters
reagent (author)
Mon Jun 09 18:55:50 -0700 2008
commit  e804a94ea85327491540787d287bfd998f110fb6
tree    36e800b112302af38ee1b137c568f6478c15177c
parent  2f4931d66ff3687ee93758406fbc021e332c291d
...
32
33
34
35
36
37
 
 
38
39
40
41
42
43
44
45
46
 
 
47
48
49
...
72
73
74
75
76
 
 
 
 
77
78
79
...
32
33
34
 
 
 
35
36
37
38
39
40
41
42
 
 
 
43
44
45
46
47
...
70
71
72
 
 
73
74
75
76
77
78
79
0
@@ -32,18 +32,16 @@ module ExpressionEngine
0
      
0
       def preferences
0
         if @preferences.empty?
0
- preference_keys.each do |key|
0
- method = 'site_' + key.to_s.gsub('_', '') + '_preferences'
0
- @preferences[key] = ExpressionEngine::Preference.new(self.send(method))
0
+ preference_map.each do |key, method_base|
0
+ @preferences[key] = ExpressionEngine::Preference.new(self.send(method_base.to_sym))
0
           end
0
         end
0
         @preferences
0
       end
0
       
0
       def update_preferences
0
- preference_keys.each do |key|
0
- method = 'site_' + key.to_s.gsub('_', '') + '_preferences='
0
- self.send(method.to_sym, @preferences[key].to_s)
0
+ preference_map.each do |key, method_base|
0
+ self.send("#{method_base}=".to_sym, @preferences[key].to_s)
0
         end
0
       end
0
 
0
@@ -72,8 +70,10 @@ module ExpressionEngine
0
       end
0
    
0
       private
0
- def preference_keys
0
- [:system, :mailing_list, :member, :template, :weblog]
0
+ def preference_map
0
+ [:system, :mailing_list, :member, :template, :weblog].inject({}) do |list, key|
0
+ list.merge(key => "site_#{key.to_s.gsub('_', '')}_preferences")
0
+ end
0
       end
0
 
0
     end

Comments

    No one has commented yet.