Sha256: 7f538f7bbeb46127a5dddd17668559e704bb94b4e5517eaccb86b1ae10671541
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
module Notifiable class Notification < ActiveRecord::Base belongs_to :app, :class_name => 'Notifiable::App' validates :app, presence: true serialize :parameters has_many :notification_statuses, :class_name => 'Notifiable::NotificationStatus', :dependent => :destroy def batch yield(self) close end def add_device_token(d) provider = d.provider.to_sym unless notifiers[provider] clazz = Notifiable.notifier_classes[provider] raise "Notifier #{provider} not configured" unless clazz notifier = clazz.new(Rails.env, self) self.app.configure(provider, notifier) @notifiers[provider] = notifier end notifiers[provider].send_notification(d) end def send_params @send_params ||= (self.parameters ? self.parameters : {}).merge({:n_id => self.id}) end private def notifiers @notifiers ||= {} end def close notifiers.each_value {|n| n.close} @notifiers = nil end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
notifiable-rails-0.26.0 | lib/notifiable/notification.rb |