Sha256: 97da7c9f0621485e6fdbc3bb891b4237109a2660ba8b47e93fbea2560a3c9da8
Contents?: true
Size: 1.86 KB
Versions: 3
Compression:
Stored size: 1.86 KB
Contents
module Notifiable class App < ActiveRecord::Base has_many :device_tokens, :class_name => 'Notifiable::DeviceToken', :dependent => :destroy has_many :notifications, :class_name => 'Notifiable::Notification', :dependent => :destroy serialize :configuration def configure(provider, notifier) return unless self.configuration && self.configuration[provider] self.configuration[provider].each_pair {|key, value| notifier.instance_variable_set("@#{key}", value) if notifier.class.notifier_attributes.include?(key) } end def configuration unless read_attribute(:configuration) write_attribute(:configuration, default_configuration) end read_attribute(:configuration) end def default_configuration configuration = {} Notifiable.notifier_classes.each_pair do |provider,clazz| configuration[provider] = {} next unless clazz.notifier_attributes clazz.notifier_attributes.each do |notifier_attribute| configuration[provider][notifier_attribute] = nil end end configuration end def self.define_configuration_accessors(notifiers) notifiers.each_pair do |provider, clazz| next unless clazz.notifier_attributes clazz.notifier_attributes.each do |attribute| define_method("#{provider}_#{attribute}="){ |v| configuration[provider][attribute] = v } define_method("#{provider}_#{attribute}"){ configuration[provider][attribute] } end end end def save_notification_statuses? self.configuration[:save_notification_statuses].nil? ? true : self.configuration[:save_notification_statuses] end def save_notification_statuses=(save_notification_statuses) self.configuration[:save_notification_statuses] = save_notification_statuses end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
notifiable-rails-0.24.3 | lib/notifiable/app.rb |
notifiable-rails-0.24.2 | lib/notifiable/app.rb |
notifiable-rails-0.24.1 | lib/notifiable/app.rb |