class DispatchRider::Publisher::Configuration

Public Class Methods

new(configuration_hash = {}) click to toggle source
# File lib/dispatch-rider/publisher/configuration.rb, line 5
def initialize(configuration_hash = {})
  @notification_services = []
  @destinations = []
  parse(configuration_hash)
end

Public Instance Methods

clear() click to toggle source
# File lib/dispatch-rider/publisher/configuration.rb, line 27
def clear
  @notification_services.clear
  @destinations.clear
end
destinations() click to toggle source
# File lib/dispatch-rider/publisher/configuration.rb, line 15
def destinations
  @destinations
end
notification_services() click to toggle source
# File lib/dispatch-rider/publisher/configuration.rb, line 11
def notification_services
  @notification_services
end
parse(configuration_hash) click to toggle source
# File lib/dispatch-rider/publisher/configuration.rb, line 19
def parse(configuration_hash)
  clear

  configuration_hash = configuration_hash.with_indifferent_access
  configure_notification_services(configuration_hash[:notification_services] || {})
  configure_destinations(configuration_hash[:destinations] || {})
end

Private Instance Methods

configure_destinations(destinations_hash) click to toggle source
# File lib/dispatch-rider/publisher/configuration.rb, line 40
def configure_destinations(destinations_hash)
  destinations_hash.each do |name, options|
    @destinations << Destination.new(name, options)
  end
end
configure_notification_services(notification_services_hash) click to toggle source
# File lib/dispatch-rider/publisher/configuration.rb, line 34
def configure_notification_services(notification_services_hash)
  notification_services_hash.each do |name, options|
    @notification_services << NotificationService.new(name, options)
  end
end