Class: Rapidmail::Utils::ConfigLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/rapidmail/utils/config_loader.rb

Overview

Utility class for loading Rapidmail configuration from YAML files

Class Method Summary collapse

Class Method Details

.load(file_path) ⇒ void

This method returns an undefined value.

Loads configuration from a YAML file and configures Rapidmail

Examples:

Loading configuration from a YAML file

# config.yml:
# username: your_username
# password: your_password

Rapidmail::Utils::ConfigLoader.load('config.yml')
# => "Configuration loaded from config.yml"

Parameters:

  • file_path (String)

    path to the YAML configuration file

Raises:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/rapidmail/utils/config_loader.rb', line 21

def self.load(file_path)
  config = YAML.load_file(file_path)
  raise Rapidmail::Error, "Missing 'username' in configuration file" unless config.key?("username")
  raise Rapidmail::Error, "Missing 'password' in configuration file" unless config.key?("password")

  Rapidmail.configure do |c|
    c.username = config["username"]
    c.password = config["password"]
  end

  puts "Configuration loaded from #{file_path}"
rescue Rapidmail::Error => e
  puts "Warning: Failed to load configuration: #{e.message}"
end