Sha256: 5eafeecc8f9775ec51d8d691fbbd4936d20afbed95e44c62a7a526608101e95d

Contents?: true

Size: 997 Bytes

Versions: 6

Compression:

Stored size: 997 Bytes

Contents

module DispatchRider

  class Publisher

    module ConfigurationReader

      class << self
        def parse(configuration_hash, publisher)
          configure_notification_services(configuration_hash[:notification_services], publisher) if configuration_hash[:notification_services]
          configure_destinations(configuration_hash[:destinations], publisher) if configuration_hash[:destinations]
        end

        private

          def configure_notification_services(notification_services, publisher)
            notification_services.each do |(service_name, service_options)|
              publisher.register_notification_service(service_name, service_options)
            end
          end

          def configure_destinations(destinations, publisher)
            destinations.each do |(destination_name, info)|
              publisher.register_destination(destination_name, info[:service], info[:channel], info[:options])
            end
          end

      end
    end

  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
dispatch-rider-0.1.2 lib/dispatch-rider/publisher/configuration_reader.rb
dispatch-rider-0.1.1.1 lib/dispatch-rider/publisher/configuration_reader.rb
dispatch-rider-0.1.0 lib/dispatch-rider/publisher/configuration_reader.rb
dispatch-rider-0.0.7 lib/dispatch-rider/publisher/configuration_reader.rb
dispatch-rider-0.0.5 lib/dispatch-rider/publisher/configuration_reader.rb
dispatch-rider-0.0.4 lib/dispatch-rider/publisher/configuration_reader.rb