Module: Smailr
- Defined in:
- lib/smailr.rb,
lib/smailr/cli.rb,
lib/smailr/dkim.rb,
lib/smailr/alias.rb,
lib/smailr/model.rb,
lib/smailr/setup.rb,
lib/smailr/domain.rb,
lib/smailr/mailbox.rb,
lib/smailr/version.rb
Defined Under Namespace
Modules: Model Classes: Alias, Cli, ConfigurationError, Dkim, Domain, Mailbox, MissingDomain, Setup
Constant Summary collapse
- VERSION =
'0.8.4'
Class Attribute Summary collapse
-
.bundled_config_file ⇒ Object
Returns the value of attribute bundled_config_file.
-
.config ⇒ Object
Returns the value of attribute config.
-
.config_files ⇒ Object
Returns the value of attribute config_files.
-
.contrib_directory ⇒ Object
Returns the value of attribute contrib_directory.
-
.migrations_directory ⇒ Object
Returns the value of attribute migrations_directory.
Class Method Summary collapse
- .db_connect ⇒ Object
- .initialize! ⇒ Object
- .load_config ⇒ Object
- .logger ⇒ Object
- .logger=(logger) ⇒ Object
Class Attribute Details
.bundled_config_file ⇒ Object
Returns the value of attribute bundled_config_file.
30 31 32 |
# File 'lib/smailr.rb', line 30 def bundled_config_file @bundled_config_file end |
.config ⇒ Object
Returns the value of attribute config.
26 27 28 |
# File 'lib/smailr.rb', line 26 def config @config end |
.config_files ⇒ Object
Returns the value of attribute config_files.
27 28 29 |
# File 'lib/smailr.rb', line 27 def config_files @config_files end |
.contrib_directory ⇒ Object
Returns the value of attribute contrib_directory.
28 29 30 |
# File 'lib/smailr.rb', line 28 def contrib_directory @contrib_directory end |
.migrations_directory ⇒ Object
Returns the value of attribute migrations_directory.
29 30 31 |
# File 'lib/smailr.rb', line 29 def migrations_directory @migrations_directory end |
Class Method Details
.db_connect ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/smailr.rb', line 58 def self.db_connect unless self.config && self.config['database'] raise ConfigurationError, "Configuration file is missing database settings." end Sequel.connect(self.config['database']) rescue Sequel::DatabaseConnectionError => e raise ConfigurationError, "Cannot open database connection: #{e.}" end |
.initialize! ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/smailr.rb', line 68 def self.initialize! load_config database = db_connect Smailr.send(:remove_const, :DB) if Smailr.const_defined?(:DB, false) Smailr.const_set(:DB, database) Sequel::Model.db = database unless defined?(Smailr::Model) require 'smailr/model' end Smailr::DB.sql_log_level = :debug end |
.load_config ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/smailr.rb', line 33 def self.load_config config = {} runtime_config_files = config_files.reject { |f| f == bundled_config_file } readable_runtime_config_files = runtime_config_files.select { |f| File.file?(f) && File.readable?(f) } unreadable_runtime_config_files = runtime_config_files.select { |f| File.exist?(f) && !File.readable?(f) } if readable_runtime_config_files.empty? if unreadable_runtime_config_files.any? raise ConfigurationError, "Cannot read configuration file: #{unreadable_runtime_config_files.join(', ')}" end raise ConfigurationError, "Cannot find configuration file. Checked: #{runtime_config_files.join(', ')}" end if bundled_config_file && File.readable?(bundled_config_file) config.merge!(YAML.load_file(bundled_config_file) || {}) end readable_runtime_config_files.each do |f| config.merge!(YAML.load_file(f) || {}) end self.config = config end |
.logger ⇒ Object
83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/smailr.rb', line 83 def self.logger unless @logger @logger = Logger.new(STDOUT) @logger.level = Logger::Severity::DEBUG @logger.formatter = proc do |severity, datetime, progname, msg| if severity == "ERROR" "ERROR: #{msg}\n" else "#{msg}\n" end end end @logger end |
.logger=(logger) ⇒ Object
98 99 100 |
# File 'lib/smailr.rb', line 98 def self.logger=(logger) @logger = logger end |