aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/initializers/refinery/core.rb.erb54
-rw-r--r--lib/capistrano/tasks/create_secret_token.rake17
-rw-r--r--lib/capistrano/tasks/refinery_setup.rake22
3 files changed, 93 insertions, 0 deletions
diff --git a/config/initializers/refinery/core.rb.erb b/config/initializers/refinery/core.rb.erb
new file mode 100644
index 0000000..dcec53c
--- /dev/null
+++ b/config/initializers/refinery/core.rb.erb
@@ -0,0 +1,54 @@
+# encoding: utf-8
+# :mode=ruby:
+
+Refinery::Core.configure do |config|
+ # When true will rescue all not found errors and display a friendly error page
+ config.rescue_not_found = Rails.env.production?
+
+ # When true this will force SSL redirection in all Refinery backend controllers.
+ # config.force_ssl = false
+
+ # When true will use Amazon's Simple Storage Service instead of
+ # the default file system for storing resources and images
+ config.s3_backend = !(ENV['S3_KEY'].nil? || ENV['S3_SECRET'].nil?)
+
+ # Whenever Refinery caches anything and can set a cache key, it will add
+ # a prefix to the cache key containing the string you set here.
+ config.base_cache_key = "<%= ActiveSupport::Inflector::parameterize(site_name, '_') %>"
+
+ # Site name
+ config.site_name = "<%= site_name %>"
+
+ # This activates Google Analytics tracking within your website. If this
+ # config is left blank or set to UA-xxxxxx-x then no remote calls to
+ # Google Analytics are made.
+ # config.google_analytics_page_code = "UA-xxxxxx-x"
+
+ # Enable/disable authenticity token on frontend
+ # config.authenticity_token_on_frontend = true
+
+ # Hide/show child pages in menu
+ config.menu_hide_children = true
+
+ # CSS class selectors for menu helper
+ config.menu_css = {:selected=>"active", :first=>"first", :last=>"last"}
+
+ # Should set this if concerned about DOS attacks. See
+ # http://markevans.github.com/dragonfly/file.Configuration.html#Configuration
+ config.dragonfly_secret = "<%= SecureRandom.hex(24) %>"
+
+ # Show/hide IE6 upgrade message in the backend
+ # config.ie6_upgrade_message_enabled = true
+
+ # Show/hide browser update message in the backend
+ # config.show_internet_explorer_upgrade_message = false
+
+ # Add extra tags to the wymeditor whitelist e.g. = {'tag' => {'attributes' => {'1' => 'href'}}} or just {'tag' => {}}
+ # config.wymeditor_whitelist_tags = {}
+
+ # Register extra javascript for backend
+ # config.register_javascript "prototype-rails"
+
+ # Register extra stylesheet for backend (optional options)
+ # config.register_stylesheet "custom", :media => 'screen'
+end
diff --git a/lib/capistrano/tasks/create_secret_token.rake b/lib/capistrano/tasks/create_secret_token.rake
new file mode 100644
index 0000000..5b048b9
--- /dev/null
+++ b/lib/capistrano/tasks/create_secret_token.rake
@@ -0,0 +1,17 @@
+# :mode=ruby:
+require 'securerandom'
+
+namespace :deploy do
+ desc 'Generate secret token if not already set'
+ task :generate_secret_token do
+ target_file = File.join(shared_path, 'config', 'initializers', 'secret_token.rb')
+ on roles(:app) do
+ unless test "[ -f #{target_file} ]"
+ result = %Q{ BetaWebApp::Application.config.secret_token = "#{SecureRandom.hex(64)}" }
+ upload!(StringIO.new(result), target_file)
+ end
+ end
+ end
+
+ before 'deploy', 'deploy:generate_secret_token'
+end
diff --git a/lib/capistrano/tasks/refinery_setup.rake b/lib/capistrano/tasks/refinery_setup.rake
new file mode 100644
index 0000000..d5d21bc
--- /dev/null
+++ b/lib/capistrano/tasks/refinery_setup.rake
@@ -0,0 +1,22 @@
+# :mode=ruby:
+require 'securerandom'
+require 'active_support/inflector'
+
+namespace :deploy do
+ namespace :refinery do
+ desc 'Initialize refinery config for new deployments.'
+ task :setup do
+ output_file = File.join(shared_path, "config", "initializers", "refinery", "core.rb")
+ on roles(:app) do
+ unless test "[ -f #{output_file} ]"
+ template = IO.read(File.join("config", "initializers", "refinery", "core.rb.erb"))
+ core = ERB.new(template)
+ site_name = fetch(:site_name, "Beta")
+ upload!(StringIO.new(core.result(binding)), output_file)
+ end
+ end
+ end
+ end
+
+ before 'deploy', 'deploy:refinery:setup'
+end