class SipoMailer::Config

Attributes

yaml[RW]

Public Class Methods

new() click to toggle source
# File lib/sipo_mailer/config.rb, line 12
def initialize
  Installer.install unless File.exist? Installer.config
  load_yaml
  check_config
  mailer_init
end

Private Instance Methods

check_config() click to toggle source
# File lib/sipo_mailer/config.rb, line 21
def check_config
  raise ConfigMissing, 'address_book' unless yaml[:address_book]
  raise ConfigMissing, 'email: address' unless yaml.dig(:email, :address)
  raise ConfigMissing, 'email: password' unless yaml.dig(:email, :password)
rescue ConfigMissing => e
  puts "V konfiguraci není vyplěna hodnota '#{e.message}'. Umístění konfigurace: #{SipoMailer::Installer.config}"
  exit
end
email_options() click to toggle source
# File lib/sipo_mailer/config.rb, line 39
def email_options
  {
    address:              'smtp.gmail.com',
    port:                  587,
    domain:               'gmail.com',
    user_name:            'givit.cz@gmail.com',
    password:             yaml.dig(:email, :password),
    authentication:       :login,
    enable_starttls_auto: true
  }
end
load_yaml() click to toggle source
# File lib/sipo_mailer/config.rb, line 30
def load_yaml
  self.yaml = YAML.load_file(Installer.config).symbolize_keys
end
mailer_init() click to toggle source
# File lib/sipo_mailer/config.rb, line 34
def mailer_init
  options = email_options
  Mail.defaults { delivery_method :smtp, options }
end