rails--rails/lib/action_text/engine.rb

44 lines
1.2 KiB
Ruby
Raw Normal View History

2018-02-07 18:43:36 +00:00
require "rails/engine"
module ActionText
2018-02-07 18:43:36 +00:00
class Engine < Rails::Engine
isolate_namespace ActionText
config.eager_load_namespaces << ActionText
initializer "action_text.attribute" do
ActiveSupport.on_load(:active_record) do
include ActionText::Attribute
end
end
2018-02-12 15:16:49 +00:00
initializer "action_text.active_storage_extension" do
ActiveSupport.on_load(:active_storage_blob) do
include ActionText::Attachable
2018-02-12 23:21:49 +00:00
def previewable_attachable?
representable?
end
end
end
initializer "action_text.helper" do
2018-02-12 15:16:49 +00:00
ActiveSupport.on_load(:action_controller_base) do
helper ActionText::Engine.helpers
2018-02-12 15:16:49 +00:00
end
end
2018-02-14 14:43:49 +00:00
initializer "action_text.config" do
2018-02-14 14:43:49 +00:00
config.after_initialize do |app|
ActionText.renderer ||= ApplicationController.renderer
# FIXME: ApplicationController should have a per-request specific renderer
# that's been set with the request.env env, and ActionText should just piggyback off
# that by default rather than doing this work directly.
ApplicationController.before_action do
ActionText.renderer = ActionText.renderer.new(request.env)
end
2018-02-14 14:43:49 +00:00
end
end
2018-02-07 18:43:36 +00:00
end
end