lib/snails/mailer.rb in snails-0.0.8 vs lib/snails/mailer.rb in snails-0.1.1
- old
+ new
@@ -10,26 +10,24 @@
Time.include(Snails::RelativeTime) unless Time.instance_methods.include?(:relative)
@queue = :emails
def initialize(opts)
- cwd = Pathname.new(Dir.pwd)
mail_config = (opts[:smtp] || opts[:mail]) or raise ":smtp options missing"
if key = mail_config.dig(:dkim, :private_key) and File.exist?(key)
mail_config[:dkim][:private_key] = IO.read(key)
elsif mail_config[:dkim]
puts "Private key for DKIM not found! Disabling..."
mail_config.delete(:dkim)
end
Tuktuk.options = mail_config
-
@from_email = opts[:from] or raise ":from required"
@base_subject = opts[:base_subject] || ''
- @views = opts[:views] || cwd.join('lib', 'views')
- @logfile = opts[:logfile] || cwd.join('log', 'mailer.log')
+ @views = opts[:views] || Snails.root.join('lib', 'views')
+ @logfile = opts[:logfile] # || Snails.root.join('log', 'mailer.log')
end
def email(name, &block)
define_singleton_method(name) do |*args|
instance_exec(*args, &block)
@@ -90,10 +88,10 @@
partial_name = name.to_s["/"] ? name.to_s.reverse.sub("/", "_/").reverse : "_#{name}"
render partial_name
end
def logger
- @logger ||= Logger.new(@logfile)
+ @logger ||= @logfile ? Logger.new(@logfile) : Snails.logger
end
def send_email(from: nil, to:, subject:, body: nil, template: nil, html_body: nil, html_template: nil)
raise "No recipient given for mail: #{subject}!" if to.blank?
\ No newline at end of file