Sha256: 0a5dcd232bb738ed9733c7d345135ac1c20ec28fcdfbc3c4faef0d58f9359115
Contents?: true
Size: 861 Bytes
Versions: 11
Compression:
Stored size: 861 Bytes
Contents
module NotificationPusher class Pusher attr_accessor :name attr_accessor :options attr_accessor :instances def initialize name, options = {} @instances = [] @name = name @options = options end def push notification, options = {} default_options = self.options options = options.nil? ? default_options : default_options.merge!(options) if defined?(NotificationPusher.const_get(self.name)) instance = NotificationPusher.const_get(self.name).new notification, options self.instances << instance end end def self.find_by_name name NotificationPusher.configuration.pushers.select { |pusher| pusher.name == name } end end end
Version data entries
11 entries across 11 versions & 1 rubygems