Sha256: e4ae8e122f06973d68ec17bb0d4efcca98ea2b3fc929a6bb510eb1faa3e982fd

Contents?: true

Size: 616 Bytes

Versions: 2

Compression:

Stored size: 616 Bytes

Contents

# frozen_string_literal: true

require_relative 'delivery_method_configuration'

module NotificationPusher
  class << self
    attr_writer :configuration

    def configuration
      @configuration ||= Configuration.new
    end
  end

  def self.configure
    yield configuration
  end

  class Configuration
    attr_accessor :delivery_methods

    def initialize
      @delivery_methods = {}
    end

    def register_delivery_method(name, class_name, options = {})
      delivery_methods[name.to_sym] =
        ::NotificationPusher::DeliveryMethodConfiguration
        .new(class_name, options)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
notification-pusher-3.0.2 lib/notification_pusher/configuration.rb
notification-pusher-2.0.0 lib/notification_pusher/configuration.rb