Class: MailRoom::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/mail_room/configuration.rb

Overview

Wraps configuration for a set of individual mailboxes with global config

Author:

  • Tony Pitale

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration

Initialize a new configuration of mailboxes



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/mail_room/configuration.rb', line 8

def initialize(options={})
  self.mailboxes = []
  self.quiet = options.fetch(:quiet, false)

  if options.has_key?(:config_path)
    begin
      config_file = YAML.load_file(options[:config_path])

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

Instance Attribute Details

#daemonizeObject

Returns the value of attribute daemonize.



5
6
7
# File 'lib/mail_room/configuration.rb', line 5

def daemonize
  @daemonize
end

#log_pathObject

Returns the value of attribute log_path.



5
6
7
# File 'lib/mail_room/configuration.rb', line 5

def log_path
  @log_path
end

#mailboxesObject

Returns the value of attribute mailboxes.



5
6
7
# File 'lib/mail_room/configuration.rb', line 5

def mailboxes
  @mailboxes
end

#pid_pathObject

Returns the value of attribute pid_path.



5
6
7
# File 'lib/mail_room/configuration.rb', line 5

def pid_path
  @pid_path
end

#quietObject

Returns the value of attribute quiet.



5
6
7
# File 'lib/mail_room/configuration.rb', line 5

def quiet
  @quiet
end

Instance Method Details

#set_mailboxes(mailboxes_config) ⇒ Object

Builds individual mailboxes from YAML configuration

Parameters:

  • mailboxes_config


26
27
28
29
30
# File 'lib/mail_room/configuration.rb', line 26

def set_mailboxes(mailboxes_config)
  mailboxes_config.each do |attributes|
    self.mailboxes << Mailbox.new(attributes)
  end
end