When there was a custom JavaScript file, we weren't loading the original one, meaning that, in order to customize it, it was necessary to copy the whole original file and then changing it. Now we're loading both the original and the custom file, so the custom file can simply add more functions or overwrite the ones we'd like to customize, without copying the whole file. Existing copies of original files will still overwrite the whole file and won't be affected.
125 lines
3.6 KiB
Ruby
125 lines
3.6 KiB
Ruby
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)
|
|
|
|
module Consul
|
|
class Application < Rails::Application
|
|
config.load_defaults 5.2
|
|
|
|
# Keep belongs_to fields optional by default, because that's the way
|
|
# Rails 4 models worked
|
|
config.active_record.belongs_to_required_by_default = false
|
|
|
|
# Use local forms with `form_with`, so it works like `form_for`
|
|
config.action_view.form_with_generates_remote_forms = false
|
|
|
|
# Keep using AES-256-CBC for message encryption in case it's used
|
|
# in any CONSUL installations
|
|
config.active_support.use_authenticated_message_encryption = false
|
|
|
|
# Handle custom exceptions
|
|
config.action_dispatch.rescue_responses["FeatureFlags::FeatureDisabled"] = :forbidden
|
|
|
|
# Store files locally.
|
|
config.active_storage.service = :local
|
|
|
|
# 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 = 'Central Time (US & Canada)'
|
|
|
|
# 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 = :en
|
|
available_locales = [
|
|
"ar",
|
|
"bg",
|
|
"bs",
|
|
"ca",
|
|
"cs",
|
|
"da",
|
|
"de",
|
|
"el",
|
|
"en",
|
|
"es",
|
|
"es-PE",
|
|
"eu",
|
|
"fa",
|
|
"fr",
|
|
"gl",
|
|
"he",
|
|
"hr",
|
|
"id",
|
|
"it",
|
|
"ka",
|
|
"nl",
|
|
"oc",
|
|
"pl",
|
|
"pt-BR",
|
|
"ro",
|
|
"ru",
|
|
"sl",
|
|
"sq",
|
|
"so",
|
|
"sr",
|
|
"sv",
|
|
"tr",
|
|
"uk-UA",
|
|
"val",
|
|
"zh-CN",
|
|
"zh-TW"]
|
|
config.i18n.available_locales = available_locales
|
|
config.i18n.fallbacks = {
|
|
"ca" => "es",
|
|
"es-PE" => "es",
|
|
"eu" => "es",
|
|
"fr" => "es",
|
|
"gl" => "es",
|
|
"it" => "es",
|
|
"oc" => "fr",
|
|
"pt-BR" => "es",
|
|
"val" => "es"
|
|
}
|
|
|
|
config.i18n.load_path += Dir[Rails.root.join("config", "locales", "**[^custom]*", "*.{rb,yml}")]
|
|
config.i18n.load_path += Dir[Rails.root.join("config", "locales", "custom", "**", "*.{rb,yml}")]
|
|
|
|
config.after_initialize do
|
|
Globalize.set_fallbacks_to_all_available_locales
|
|
end
|
|
|
|
config.assets.paths << Rails.root.join("app", "assets", "fonts")
|
|
config.assets.paths << Rails.root.join("vendor", "assets", "fonts")
|
|
|
|
# Add lib to the autoload path
|
|
config.autoload_paths << Rails.root.join("lib")
|
|
config.time_zone = "Madrid"
|
|
config.active_job.queue_adapter = :delayed_job
|
|
|
|
# CONSUL specific custom overrides
|
|
# Read more on documentation:
|
|
# * English: https://github.com/consul/consul/blob/master/CUSTOMIZE_EN.md
|
|
# * Spanish: https://github.com/consul/consul/blob/master/CUSTOMIZE_ES.md
|
|
#
|
|
config.autoload_paths << "#{Rails.root}/app/components/custom"
|
|
config.autoload_paths << "#{Rails.root}/app/controllers/custom"
|
|
config.autoload_paths << "#{Rails.root}/app/models/custom"
|
|
config.paths["app/views"].unshift(Rails.root.join("app", "views", "custom"))
|
|
end
|
|
end
|
|
|
|
class Rails::Engine
|
|
initializer :prepend_custom_assets_path, group: :all do |app|
|
|
if self.class.name == "Consul::Application"
|
|
%w[images fonts].each do |asset|
|
|
app.config.assets.paths.unshift(Rails.root.join("app", "assets", asset, "custom").to_s)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
require "./config/application_custom"
|