summaryrefslogtreecommitdiff
path: root/config/initializers/customization.rb
blob: bc9c834448b299d64156f411136cf63a7cd9ce60 (plain)
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
#
# When deploying, common customizations can be dropped in config/customizations. This initializer makes this work.
#
customization_directory = "#{Rails.root}/config/customization"

#
# Set customization views as the first view path
#
# Rails.application.config.paths['app/views'].unshift "config/customization/views"
# (For some reason, this does not work here. See application.rb for where this is actually called.)

#
# Set customization stylesheets as the first asset path
#
# Some notes:
#
# * This cannot go in application.rb, as far as I can tell. In application.rb, the default paths
#   haven't been loaded yet, so the path we add will always end up at the end unless we add it here.
#
# * For this to work, config.assets.initialize_on_precompile MUST be set to true, otherwise
#   this initializer will never get called in production mode when the assets are precompiled.
#
Rails.application.config.assets.paths.unshift "#{customization_directory}/stylesheets"

#
# Copy files to public
#
if !defined?(RAKE) && Dir.exists?("#{customization_directory}/public")
  require 'fileutils'
  FileUtils.cp_r("#{customization_directory}/public/.", "#{Rails.root}/public")
end

#
# Add I18n path
#
Rails.application.config.i18n.load_path += Dir["#{customization_directory}/locales/*.{rb,yml,yaml}"]