Skip to content

Commit

Permalink
use explicit autoloads rather than from paths
Browse files Browse the repository at this point in the history
  • Loading branch information
adamcooke committed Jun 2, 2017
1 parent 9f4568e commit 6e009f1
Show file tree
Hide file tree
Showing 9 changed files with 87 additions and 8 deletions.
2 changes: 1 addition & 1 deletion Procfile
@@ -1,6 +1,6 @@
web: bundle exec puma -C config/puma.rb
fast: bundle exec rake postal:fast_server
worker: bundle exec rake postal:worker
worker: bundle exec ruby script/worker.rb
cron: bundle exec rake postal:cron
smtp: bundle exec rake postal:smtp_server
requeuer: bundle exec rake postal:requeuer
2 changes: 1 addition & 1 deletion config/application.rb
Expand Up @@ -27,7 +27,7 @@ class Application < Rails::Application
end

# Include from lib
config.eager_load_paths += %W(#{config.root}/lib #{config.root}/app/jobs)
config.eager_load_namespaces << Postal

# Disable field_with_errors
config.action_view.field_error_proc = Proc.new { |t, i| t }
Expand Down
2 changes: 1 addition & 1 deletion config/initializers/postal.rb
@@ -1,2 +1,2 @@
require 'postal/error'
require 'postal'
require 'postal/message_db/mysql'
42 changes: 42 additions & 0 deletions lib/postal.rb
@@ -0,0 +1,42 @@
module Postal

extend ActiveSupport::Autoload

eager_autoload do
autoload :AppLogger
autoload :BounceMessage
autoload :Config
autoload :Countries
autoload :DKIMHeader
autoload :Error
autoload :FastServer
autoload :Helpers
autoload :HTTP
autoload :HTTPSender
autoload :Job
autoload :LetsEncrypt
autoload :MessageDB
autoload :MessageInspection
autoload :MessageParser
autoload :MessageRequeuer
autoload :QueryString
autoload :RabbitMQ
autoload :ReplySeparator
autoload :RspecHelpers
autoload :SendResult
autoload :Sender
autoload :SMTPServer
autoload :SpamCheck
autoload :UserCreator
autoload :Version
autoload :Worker
end

def self.eager_load!
super
Postal::MessageDB.eager_load!
Postal::FastServer.eager_load!
Postal::SMTPServer.eager_load!
end

end
12 changes: 12 additions & 0 deletions lib/postal/fast_server.rb
@@ -0,0 +1,12 @@
module Postal
module FastServer
extend ActiveSupport::Autoload
eager_autoload do
autoload :Client
autoload :HTTPHeader
autoload :HTTPHeaderSet
autoload :Interface
autoload :Server
end
end
end
18 changes: 18 additions & 0 deletions lib/postal/message_db.rb
@@ -0,0 +1,18 @@
module Postal
module MessageDB
extend ActiveSupport::Autoload
eager_autoload do
autoload :Click
autoload :Database
autoload :Delivery
autoload :LiveStats
autoload :Load
autoload :Message
autoload :Migration
autoload :Provisioner
autoload :Statistics
autoload :SuppressionList
autoload :Webhooks
end
end
end
9 changes: 9 additions & 0 deletions lib/postal/smtp_server.rb
@@ -0,0 +1,9 @@
module Postal
module SMTPServer
extend ActiveSupport::Autoload
eager_autoload do
autoload :Client
autoload :Server
end
end
end
5 changes: 0 additions & 5 deletions lib/tasks/postal.rake
@@ -1,10 +1,5 @@
namespace :postal do

desc "Start the backend job worker"
task :worker => :environment do
Postal::Worker.new([:main]).work
end

desc "Start the cron worker"
task :cron => :environment do
require 'clockwork'
Expand Down
3 changes: 3 additions & 0 deletions script/worker.rb
@@ -0,0 +1,3 @@
#!/usr/bin/env ruby
require_relative '../config/environment'
Postal::Worker.new([:main]).work

0 comments on commit 6e009f1

Please sign in to comment.