Sha256: b3854380f1e0d2f8a05d423dfd46cfe1e604a696be1e54d08989ce64ac5ffb81
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true require 'notification-handler' require 'active_support' module NotificationPusher module NotificationLibrary extend ActiveSupport::Concern included do attr_accessor :pusher attr_accessor :pusher_options after_create_commit :initialize_pusher include NotificationPusher::NotificationLibrary::InstanceMethods end module InstanceMethods def push(name, options = {}) self.pusher = name self.pusher_options = options initialize_pusher end private def initialize_pusher return if pusher.nil? if pusher.is_a?(Array) pusher.each do |class_name| initiate_push(class_name, pusher_options[class_name.to_sym]) end else initiate_push(pusher, pusher_options) end end def initiate_push(class_name, options = {}) pusher = NotificationPusher::Pusher.find_by_name(class_name).first pusher.push(self, options) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
notification-pusher-1.2.6 | lib/notification_pusher/notification_library.rb |