class Dmail::CLI

Public Class Methods

new() click to toggle source
# File lib/dmail/cli.rb, line 10
def initialize
  @action = ARGV.first.gsub('--', '')
  @coloring = true
  load_settings
end

Public Instance Methods

run() click to toggle source
# File lib/dmail/cli.rb, line 16
def run
  send(@action)
rescue NoMethodError
  puts "dmail: '#{ARGV[0]}' is not a valid dmail command. See 'dmail help'."
end

Private Instance Methods

load_settings() click to toggle source
# File lib/dmail/cli.rb, line 24
def load_settings
  preferences ||= if File.exists?('.dmailrc.yaml')
    YAML.load(IO.read('.dmailrc.yaml'))
  elsif File.exists?('~/.dmailrc.yaml')
    YAML.load(IO.read('~/.dmailrc.yaml'))
  else
    fail('dmail: could not find .dmailrc.yaml here or on your home directory.')
  end

  retriever_preferences = preferences['dmail']['reading']

  Mail.defaults do
    retriever_method(
      retriever_preferences['method'].to_sym,
      address: retriever_preferences['address'],
      port: retriever_preferences['port'],
      user_name: retriever_preferences['user_name'],
      password: retriever_preferences['password'],
      enable_ssl: retriever_preferences['enable_ssl']
    )
  end
end