-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathapplication.rb
More file actions
67 lines (49 loc) · 2.68 KB
/
application.rb
File metadata and controls
67 lines (49 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# frozen_string_literal: true
require_relative 'boot'
require 'rails/all'
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)
require 'telegraf/rails'
require_relative '../lib/middleware/web_socket_sentry_headers'
module CodeOcean
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 8.0
# Please, add to the `ignore` list any other `lib` subdirectories that do
# not contain `.rb` files, or that should not be reloaded or eager loaded.
# Common ones are `templates`, `generators`, or `middleware`, for example.
config.autoload_lib(ignore: %w[assets tasks templates generators middleware i18n_tasks])
# Configuration for the application, engines, and railties goes here.
#
# These settings can be overridden in specific environments using the files
# in config/environments, which are processed later.
#
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
config.time_zone = ENV.fetch('RAILS_TIME_ZONE', 'UTC')
# config.eager_load_paths << Rails.root.join("extras")
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
config.i18n.available_locales = %i[de en]
config.relative_url_root = ENV.fetch('RAILS_RELATIVE_URL_ROOT', '/').to_s
config.action_cable.mount_path = "#{ENV.fetch('RAILS_RELATIVE_URL_ROOT', '')}/cable"
# Disable concurrent ActionCable workers to ensure ACE change events keep their order
config.action_cable.worker_pool_size = 1
config.telegraf.tags = {application: 'codeocean'}
config.after_initialize do
# Initialize the counters according to the db
Prometheus::Controller.initialize_metrics
# Initialize the runner environment
Runner.strategy_class.initialize_environment
end
config.action_mailer.preview_paths << Rails.root.join('spec/mailers/previews')
# Allow tables in addition to existing default tags
config.action_view.sanitized_allowed_tags = ActionView::Base.sanitized_allowed_tags + %w[table thead tbody tfoot td tr details summary]
# Extract Sentry-related parameters from WebSocket connection
config.middleware.insert_before 0, Middleware::WebSocketSentryHeaders
# Configure some defaults for the Solid Queue Supervisor
require_relative 'solid_queue_defaults'
end
end