Sha256: bcea62636204b5471e0855878034aad6937e63138dece5e75a248d286e601bec

Contents?: true

Size: 1.77 KB

Versions: 1

Compression:

Stored size: 1.77 KB

Contents

require "rails"
require "action_view"

require 'jquery-rails'

require 'rails_connector/configuration'

module ::RailsConnector
  class Engine < Rails::Engine
    config.to_prepare { RailsConnector::Configuration.to_prepare }

    # make sure our exceptions cause an adequate error page and http status code
    config.action_dispatch.rescue_responses.merge!("RailsConnector::ResourceNotFound" => :not_found)

    initializer "rails_connector.add_cms_routing_paths", :after => :add_routing_paths do |app|
      cms_route = File.expand_path("cms_routes.rb", paths['config'].to_a.first)
      app.routes_reloader.paths.push(cms_route)
    end

    # Expose rails connector runtime to controller for logging.
    initializer "rails_connector.log_runtime" do |app|
      runtime =
        begin
          RailsConnector::ControllerRuntime
        rescue NameError
          nil
        end

      if runtime
        RailsConnector::LogSubscriber.attach_to :rails_connector
        ActiveSupport.on_load(:action_controller) do
          include runtime
        end
      end
    end

    initializer "rails_connector.configure_database", :before => :load_config_initializers do |app|
      RailsConnector::Configuration.configure_cms_database
    end

    initializer "rails_connector.routing_helpers" do
      if Rails.env == 'test'
        ActionDispatch::TestRequest.__send__(:include, RailsConnector::CmsTestRequest)
      end

      ActionController::Base.__send__(:include, CmsRoutingHelper)
      ActionView::Base.__send__(:include, CmsRoutingHelper)
    end

    config.autoload_paths += paths['lib'].to_a
    config.autoload_once_paths += paths['lib'].to_a

    config.app_middleware.use "RailsConnector::CacheMiddleware"
    config.app_middleware.use "RailsConnector::WorkspaceSelectionMiddleware"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
infopark_cloud_connector-7.1.0 lib/rails_connector/engine.rb