#
# SPDX-License-Identifier: AGPL-3.0
-require File.expand_path('../boot', __FILE__)
-
-require 'rails/all'
+require_relative 'boot'
+
+require "rails"
+# Pick only the frameworks we need:
+require "active_model/railtie"
+require "active_job/railtie"
+require "active_record/railtie"
+# Skip ActiveStorage (new in Rails 5.1)
+# require "active_storage/engine"
+require "action_controller/railtie"
+require "action_mailer/railtie"
+require "action_view/railtie"
+# Skip ActionCable (new in Rails 5.0) as it adds '/cable' routes that we're not using
+# require "action_cable/engine"
+require "sprockets/railtie"
+require "rails/test_unit/railtie"
Bundler.require(:default, Rails.env)
+if ENV["ARVADOS_RAILS_LOG_TO_STDOUT"]
+ Rails.logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
+end
+
module ArvadosWorkbench
class Application < Rails::Application
+ # The following is to avoid SafeYAML's warning message
+ SafeYAML::OPTIONS[:default_mode] = :safe
+
+ require_relative "arvados_config.rb"
+
+ # Initialize configuration defaults for originally generated Rails version.
+ config.load_defaults 5.1
+
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Custom directories with classes and modules you want to be autoloadable.
+ # Autoload paths shouldn't be used anymore since Rails 5.0
+ # See #15258 and https://github.com/rails/rails/issues/13142#issuecomment-74586224
# config.autoload_paths += %W(#{config.root}/extras)
- config.autoload_paths += %W(#{config.root}/lib)
# Only load the plugins named here, in the order given (default is alphabetical).
# :all can be used as a placeholder for all plugins not explicitly named.
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
+
+ # npm-rails loads top-level modules like window.Mithril, but we
+ # also pull in some code from node_modules in application.js, like
+ # mithril/stream/stream.
+ config.assets.paths << Rails.root.join('node_modules')
end
end
-
-require File.expand_path('../load_config', __FILE__)