scinote-web/config/application.rb

56 lines
1.7 KiB
Ruby
Raw Normal View History

2017-06-23 21:19:08 +08:00
require_relative 'boot'
2016-02-12 23:52:43 +08:00
require 'rails/all'
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)
module Scinote
class Application < Rails::Application
2017-06-23 21:19:08 +08:00
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 5.1
2016-02-12 23:52:43 +08:00
# 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.
# Add rack-attack middleware for request rate limiting
config.middleware.use Rack::Attack
# Swap the Rack::MethodOverride with a wrapped middleware for WOPI handling
require_relative '../app/middlewares/wopi_method_override'
config.middleware.swap Rack::MethodOverride, WopiMethodOverride
# Load all model concerns, including subfolders
config.autoload_paths += Dir["#{Rails.root}/app/models/concerns/**/*.rb"]
config.encoding = 'utf-8'
2016-02-12 23:52:43 +08:00
config.active_job.queue_adapter = :delayed_job
# Max uploaded file size in MB
config.x.file_max_size_mb = (ENV['FILE_MAX_SIZE_MB'] || 50).to_i
2016-02-12 23:52:43 +08:00
# Logging
config.log_formatter = proc do |severity, datetime, progname, msg|
"[#{datetime}] #{severity}: #{msg}\n"
end
# Paperclip spoof checking
Paperclip.options[:content_type_mappings] = {
csv: 'text/plain',
wopitest: ['text/plain', 'inode/x-empty']
}
# SciNote Core Application version
VERSION = File.read(Rails.root.join('VERSION')).strip.freeze
2018-08-17 17:59:47 +08:00
# Doorkeeper overrides
config.to_prepare do
# Only Authorization endpoint
Doorkeeper::AuthorizationsController.layout 'sign_in_halt'
end
2016-02-12 23:52:43 +08:00
end
end