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