class Courier::OwnerSetting
Индивидуальные настройки для каждого пользователя. Матрица пересечения сервис-шаблон для каждого владельца.
Public Instance Methods
disabled?(template, service, args={})
click to toggle source
# File lib/courier/owner_setting.rb, line 66 def disabled?(template, service, args={}) get(template, service)==:disabled end
get(template, service)
click to toggle source
# File lib/courier/owner_setting.rb, line 49 def get(template, service) service = Courier.service(service) template = Courier.template(template) default = template.get(service) return :disabled if default==:disabled val = settings_of_template(template)[service.name] val || default end
off?(template, service, args={})
click to toggle source
# File lib/courier/owner_setting.rb, line 62 def off?(template, service, args={}) get(template, service)==:off end
on?(template, service, args={})
click to toggle source
# File lib/courier/owner_setting.rb, line 58 def on?(template, service, args={}) get(template, service)==:on end
set(template, service, val=nil) { || ... }
click to toggle source
# File lib/courier/owner_setting.rb, line 24 def set(template, service, val=nil) service = Courier.service(service) raise 'Cant use value as argument when block given' if block_given? and val val = yield if block_given? if val.blank? settings_of_template(template).delete(service.name) nil else # TODO validate setted value settings_of_template(template)[service.name] = val.to_sym end end
set!(template, service, val=nil) { || ... }
click to toggle source
# File lib/courier/owner_setting.rb, line 37 def set!(template, service, val=nil) if block_given? set template, service do yield end else set(template, service, val) end save! end
settings_of_template(template)
click to toggle source
# File lib/courier/owner_setting.rb, line 19 def settings_of_template(template) template = Courier.template(template) settings[template.name]||={} end