class MailRoom::Configuration

Wraps configuration for a set of individual mailboxes with global config @author Tony Pitale

Attributes

daemonize[RW]
log_path[RW]
mailboxes[RW]
pid_path[RW]
quiet[RW]

Public Class Methods

new(options={}) click to toggle source

Initialize a new configuration of mailboxes

# File lib/mail_room/configuration.rb, line 10
def initialize(options={})
  self.mailboxes = []
  self.quiet = options.fetch(:quiet, false)

  if options.has_key?(:config_path)
    begin
      config_file = YAML.load(ERB.new(File.read(options[:config_path])).result)

      set_mailboxes(config_file[:mailboxes])
    rescue => e
      raise e unless quiet
    end
  end
end

Public Instance Methods

set_mailboxes(mailboxes_config) click to toggle source

Builds individual mailboxes from YAML configuration

@param mailboxes_config

# File lib/mail_room/configuration.rb, line 28
def set_mailboxes(mailboxes_config)
  mailboxes_config.each do |attributes|
    self.mailboxes << Mailbox.new(attributes)
  end
end