aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2012-11-15 11:00:36 +0000
committerLouise Crow <louise.crow@gmail.com>2012-11-15 11:00:36 +0000
commitbe5e69a7dccaa6c76408f9b7883980bd79bdba28 (patch)
treeb517392e10aabaa3f44303d738b05e1e94aa5909
parent2a96a18f3fd7dea4936d5056bf24a32be0263d9a (diff)
First skeletal version of separate mail handling library.
-rw-r--r--config/environment.rb3
-rw-r--r--lib/mail_handler/backends/mail_backend.rb12
-rw-r--r--lib/mail_handler/backends/tmail_backend.rb11
-rw-r--r--lib/mail_handler/mail_handler.rb16
4 files changed, 42 insertions, 0 deletions
diff --git a/config/environment.rb b/config/environment.rb
index 492446a43..728d2ffb7 100644
--- a/config/environment.rb
+++ b/config/environment.rb
@@ -92,6 +92,8 @@ Rails::Initializer.run do |config|
require 'routing_filters.rb'
end
+ config.autoload_paths << "#{RAILS_ROOT}/lib/mail_handler"
+
# See Rails::Configuration for more options
ENV['RECAPTCHA_PUBLIC_KEY'] = Configuration::recaptcha_public_key
ENV['RECAPTCHA_PRIVATE_KEY'] = Configuration::recaptcha_private_key
@@ -154,6 +156,7 @@ require 'rack_quote_monkeypatch.rb'
require 'world_foi_websites.rb'
require 'alaveteli_external_command.rb'
require 'quiet_opener.rb'
+require 'mail_handler'
if !Configuration.exception_notifications_from.blank? && !Configuration.exception_notifications_to.blank?
ExceptionNotification::Notifier.sender_address = Configuration::exception_notifications_from
diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb
new file mode 100644
index 000000000..ad1322923
--- /dev/null
+++ b/lib/mail_handler/backends/mail_backend.rb
@@ -0,0 +1,12 @@
+require 'mail'
+
+module MailHandler
+ module Backends
+ module MailBackend
+
+ def backend()
+ 'Mail'
+ end
+ end
+ end
+end \ No newline at end of file
diff --git a/lib/mail_handler/backends/tmail_backend.rb b/lib/mail_handler/backends/tmail_backend.rb
new file mode 100644
index 000000000..b2d36d65f
--- /dev/null
+++ b/lib/mail_handler/backends/tmail_backend.rb
@@ -0,0 +1,11 @@
+module MailHandler
+ module Backends
+ module TmailBackend
+
+ def backend()
+ 'TMail'
+ end
+
+ end
+ end
+end \ No newline at end of file
diff --git a/lib/mail_handler/mail_handler.rb b/lib/mail_handler/mail_handler.rb
new file mode 100644
index 000000000..5db17ae77
--- /dev/null
+++ b/lib/mail_handler/mail_handler.rb
@@ -0,0 +1,16 @@
+# Handles the parsing of email
+module MailHandler
+
+ if RUBY_VERSION.to_f >= 1.9
+ require 'backends/mail_backend'
+ include Backends::MailBackend
+ else
+ require 'backends/tmail_backend'
+ include Backends::TmailBackend
+ end
+
+ # Turn instance methods into class methods
+ extend self
+
+end
+