2018-09-28 15:19:43 -04:00
|
|
|
require "rails/engine"
|
|
|
|
|
|
|
|
module ActionMailbox
|
|
|
|
class Engine < Rails::Engine
|
|
|
|
isolate_namespace ActionMailbox
|
|
|
|
config.eager_load_namespaces << ActionMailbox
|
|
|
|
|
2018-10-01 08:16:10 -04:00
|
|
|
config.action_mailbox = ActiveSupport::OrderedOptions.new
|
2018-10-06 22:23:19 -04:00
|
|
|
config.action_mailbox.incinerate_after = 30.days
|
2018-10-01 08:16:10 -04:00
|
|
|
|
2018-11-11 18:23:13 -05:00
|
|
|
config.action_mailbox.queues = ActiveSupport::InheritableOptions.new \
|
|
|
|
incineration: :action_mailbox_incineration, routing: :action_mailbox_routing
|
|
|
|
|
2018-09-28 15:19:43 -04:00
|
|
|
initializer "action_mailbox.config" do
|
|
|
|
config.after_initialize do |app|
|
2018-10-01 08:16:10 -04:00
|
|
|
ActionMailbox.logger = app.config.action_mailbox.logger || Rails.logger
|
2018-10-06 22:23:19 -04:00
|
|
|
ActionMailbox.incinerate_after = app.config.action_mailbox.incinerate_after || 30.days
|
2018-11-11 18:23:13 -05:00
|
|
|
ActionMailbox.queues = app.config.action_mailbox.queues || {}
|
2018-09-28 15:19:43 -04:00
|
|
|
end
|
|
|
|
end
|
2018-11-05 12:39:37 -05:00
|
|
|
|
|
|
|
initializer "action_mailbox.ingress" do
|
|
|
|
config.after_initialize do |app|
|
|
|
|
if ActionMailbox.ingress = app.config.action_mailbox.ingress.presence
|
|
|
|
config.to_prepare do
|
|
|
|
if ingress_controller_class = "ActionMailbox::Ingresses::#{ActionMailbox.ingress.to_s.classify}::InboundEmailsController".safe_constantize
|
|
|
|
ingress_controller_class.prepare
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2018-09-28 15:19:43 -04:00
|
|
|
end
|
|
|
|
end
|