A corporation manager and dashboard for EVE Online
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

admin_setting.rb 922 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. class AdminSetting < ActiveRecord::Base
  2. def self.to_bool(value)
  3. value == 't'
  4. end
  5. def self.from_bool(value)
  6. value ? 't' : 'f'
  7. end
  8. def self.add(key, value)
  9. value = self.from_bool(value) if value == true || value == false
  10. self.create(key: key, value: value)
  11. end
  12. def self.get(key)
  13. existing = Rails.cache.read("admin_setting/#{key}")
  14. return existing unless existing.nil?
  15. setting = self.find_by(key: key)
  16. return nil if setting.nil?
  17. Rails.cache.write("admin_setting/#{key}", setting.value)
  18. setting.value
  19. end
  20. def self.get_bool(key)
  21. self.to_bool(self.get(key))
  22. end
  23. def self.set(key, value)
  24. existing = self.get(key)
  25. return if existing.nil? || existing == value
  26. self.find_by(key: key).update(value: value)
  27. Rails.cache.write("admin_setting/#{key}", value)
  28. end
  29. def self.set_bool(key, value)
  30. self.set(key, self.from_bool(value))
  31. end
  32. end