Class: Preference
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Preference
- Defined in:
- app/models/preference.rb
Class Method Summary collapse
- .delete(sid, name, user_id = nil) ⇒ Object
- .flush(sid, name, user_id) ⇒ Object
-
.get(sid, name, user_id = nil) ⇒ Object
get from DB.
-
.get!(sid, name, value, user_id = nil) ⇒ Object
get, but return value if not found.
- .get_cached(sid, name, user_id = nil) ⇒ Object
- .get_cached!(sid, name, value, user_id = nil) ⇒ Object
- .get_key(sid, name, user_id = nil) ⇒ Object
-
.getCached(sid, name, user_id = nil) ⇒ Object
get from cache, then DB if not present in cache.
- .increase(sid, name) ⇒ Object
- .licensed?(sid, name) ⇒ Boolean
- .set(sid, name, value, user_id = nil) ⇒ Object
Class Method Details
.delete(sid, name, user_id = nil) ⇒ Object
37 38 39 40 41 |
# File 'app/models/preference.rb', line 37 def Preference.delete(sid, name, user_id=nil) Preference.flush(sid, name, user_id) pref = Preference.sys(sid).where(:name=>name).where(:user_id=>user_id).first pref.destroy end |
.flush(sid, name, user_id) ⇒ Object
43 44 45 |
# File 'app/models/preference.rb', line 43 def Preference.flush(sid,name, user_id) Rails.cache.delete(get_key(sid,name, user_id)) end |
.get(sid, name, user_id = nil) ⇒ Object
get from DB
31 32 33 34 35 |
# File 'app/models/preference.rb', line 31 def Preference.get(sid,name, user_id = nil) # get from DB p = Preference.sys(sid).where(:name => name).where(:user_id=>user_id).first return p!=nil ? p.value : nil end |
.get!(sid, name, value, user_id = nil) ⇒ Object
get, but return value if not found
47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/models/preference.rb', line 47 def Preference.get!(sid,name, value, user_id = nil) # get, but return value if not found pref_s = Preference.get(sid,name, user_id) if (pref_s==nil) pref = Preference.new pref.system_id=sid pref.name = name pref.value = value pref.user_id = user_id pref.save return value else return pref_s end end |
.get_cached(sid, name, user_id = nil) ⇒ Object
13 14 15 |
# File 'app/models/preference.rb', line 13 def Preference.get_cached(sid,name, user_id = nil) Preference.getCached(sid,name) end |
.get_cached!(sid, name, value, user_id = nil) ⇒ Object
7 8 9 10 11 |
# File 'app/models/preference.rb', line 7 def Preference.get_cached!(sid, name, value, user_id = nil) Rails.cache.fetch(get_key(sid,name,user_id), :expires_in => 10.minutes) do Preference.get!(sid,name, value, user_id) end end |
.get_key(sid, name, user_id = nil) ⇒ Object
3 4 5 |
# File 'app/models/preference.rb', line 3 def Preference.get_key(sid, name, user_id = nil) "#{sid} : #{name} : #{user_id ? user_id : 'nil'}" end |
.getCached(sid, name, user_id = nil) ⇒ Object
get from cache, then DB if not present in cache
17 18 19 20 21 |
# File 'app/models/preference.rb', line 17 def Preference.getCached(sid,name, user_id = nil) #get from cache, then DB if not present in cache Rails.cache.fetch(get_key(sid,name,user_id), :expires_in => 10.minutes) do Preference.get(sid, name, user_id) end end |
.increase(sid, name) ⇒ Object
23 24 25 26 27 28 29 |
# File 'app/models/preference.rb', line 23 def Preference.increase(sid,name) p = Preference.find_by_name_and_system_id(name, sid, :lock=>true) p.value = p.value.to_i + 1 p.save! p.value.to_i end |
.licensed?(sid, name) ⇒ Boolean
77 78 79 80 81 82 83 |
# File 'app/models/preference.rb', line 77 def Preference.licensed?(sid, name) licensed = Rails.cache.fetch("licenses_#{sid}_#{name}", :expires_in=>1.minutes) do Preference.get_cached(sid, "feature_#{name}")=="true" || Preference.get_cached(sid, "feature_*")=="true" end licensed==true ? true : false end |
.set(sid, name, value, user_id = nil) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'app/models/preference.rb', line 62 def Preference.set(sid,name, value, user_id = nil) pref = Preference.where(:name=>name) pref = pref.sys(sid) pref = pref.where(:user_id=>user_id) if user_id pref = pref.first if pref==nil Preference.get!(sid,name, value, user_id) else pref.value = value pref.save end Preference.flush(sid,name, user_id) end |