summaryrefslogtreecommitdiff
path: root/config/initializers/customization.rb
diff options
context:
space:
mode:
authorazul <azul@riseup.net>2013-11-15 01:33:03 -0800
committerazul <azul@riseup.net>2013-11-15 01:33:03 -0800
commit7a107e0d38271e7103d3494e06d52f3434022f22 (patch)
treeb2a049aa1700dbcda01111bd60d656665aa75f55 /config/initializers/customization.rb
parentb131fd4f4d7fd23e787b18c207224216860081bb (diff)
parent4193a94b4cc5b5cabbace8311562c0ca88a79f74 (diff)
Merge pull request #113 from elijh/feature/customize
Feature/customize
Diffstat (limited to 'config/initializers/customization.rb')
-rw-r--r--config/initializers/customization.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/config/initializers/customization.rb b/config/initializers/customization.rb
new file mode 100644
index 0000000..bc9c834
--- /dev/null
+++ b/config/initializers/customization.rb
@@ -0,0 +1,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}"]