radiant 1.1.0.beta → 1.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of radiant might be problematic. Click here for more details.

Files changed (77) hide show
  1. data/CHANGELOG.md +8 -0
  2. data/CONTRIBUTORS.md +6 -0
  3. data/Gemfile +6 -5
  4. data/Gemfile.lock +2 -2
  5. data/GemfileRails3 +37 -0
  6. data/app/controllers/site_controller.rb +31 -7
  7. data/app/helpers/application_helper.rb +4 -4
  8. data/app/models/deprecated_tags.rb +8 -1
  9. data/app/models/page.rb +21 -9
  10. data/app/models/radiant/page_response_cache_director.rb +43 -0
  11. data/app/models/standard_tags.rb +34 -32
  12. data/app/views/admin/pages/_fields.html.haml +1 -1
  13. data/app/views/admin/pages/_node.html.haml +1 -1
  14. data/config/compass.config +0 -3
  15. data/config/initializers/tmp.rb +2 -0
  16. data/config/preinitializer.rb +15 -16
  17. data/db/migrate/20110902203823_add_allowed_children_cache_to_pages.rb +1 -1
  18. data/lib/generators/instance/templates/instance_gemfile +9 -5
  19. data/lib/radiant.rb +1 -1
  20. data/lib/radiant/engine.rb +10 -0
  21. data/lib/radiant/extension.rb +1 -10
  22. data/lib/radiant/initializer.rb +1 -0
  23. data/lib/radiant/task_support.rb +66 -0
  24. data/lib/tasks/framework.rake +1 -1
  25. data/lib/tasks/radiant_config.rake +3 -3
  26. data/lib/tasks/release.rake +1 -1
  27. data/public/javascripts/admin/page_preview.js +1 -1
  28. data/public/javascripts/admin/pagefield.js +1 -1
  29. data/public/javascripts/admin/shortcuts.js +7 -1
  30. data/radiant.gemspec +2 -1
  31. data/rails/init.rb +1 -0
  32. data/spec/dummy/Rakefile +7 -0
  33. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  34. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  35. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  36. data/spec/dummy/config.ru +4 -0
  37. data/spec/dummy/config/application.rb +45 -0
  38. data/spec/dummy/config/boot.rb +10 -0
  39. data/spec/dummy/config/database.yml +22 -0
  40. data/spec/dummy/config/environment.rb +5 -0
  41. data/spec/dummy/config/environments/development.rb +26 -0
  42. data/spec/dummy/config/environments/production.rb +49 -0
  43. data/spec/dummy/config/environments/test.rb +35 -0
  44. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  45. data/spec/dummy/config/initializers/inflections.rb +10 -0
  46. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  47. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  48. data/spec/dummy/config/initializers/session_store.rb +8 -0
  49. data/spec/dummy/config/locales/en.yml +5 -0
  50. data/spec/dummy/config/routes.rb +3 -0
  51. data/spec/dummy/log/development.log +0 -0
  52. data/spec/dummy/log/production.log +0 -0
  53. data/spec/dummy/log/server.log +0 -0
  54. data/spec/dummy/log/test.log +0 -0
  55. data/spec/dummy/public/404.html +26 -0
  56. data/spec/dummy/public/422.html +26 -0
  57. data/spec/dummy/public/500.html +26 -0
  58. data/spec/dummy/public/favicon.ico +0 -0
  59. data/spec/dummy/public/javascripts/application.js +2 -0
  60. data/spec/dummy/public/javascripts/controls.js +965 -0
  61. data/spec/dummy/public/javascripts/dragdrop.js +974 -0
  62. data/spec/dummy/public/javascripts/effects.js +1123 -0
  63. data/spec/dummy/public/javascripts/prototype.js +6001 -0
  64. data/spec/dummy/public/javascripts/rails.js +202 -0
  65. data/spec/dummy/script/rails +6 -0
  66. data/spec/fixtures/example_extension/example_extension.rb +0 -4
  67. data/spec/lib/radiant/extension_spec.rb +0 -8
  68. data/spec/lib/task_support_spec.rb +13 -13
  69. data/spec/models/deprecated_tags_spec.rb +8 -1
  70. data/spec/models/radiant/page_response_cache_director_spec.rb +83 -0
  71. data/spec/models/standard_tags_spec.rb +10 -7
  72. data/spec/spec_helper_rails_3.rb +15 -0
  73. metadata +105 -53
  74. data/config/initializers/compass.rb +0 -6
  75. data/lib/plugins/extension_patches/init.rb +0 -1
  76. data/lib/plugins/extension_patches/lib/routing_extension.rb +0 -31
  77. data/lib/task_support.rb +0 -64
@@ -1,6 +1,6 @@
1
1
  class AddAllowedChildrenCacheToPages < ActiveRecord::Migration
2
2
  def self.up
3
- add_column :pages, :allowed_children_cache, :string, :limit => 1500, :default => ''
3
+ add_column :pages, :allowed_children_cache, :text, :default => ''
4
4
  Page.reset_column_information
5
5
  Page.find_each do |page|
6
6
  page.save # update the allowed_children_cache
@@ -4,6 +4,7 @@ source :rubygems
4
4
  # If new versions of your installed gems are available, run `bundle update`
5
5
 
6
6
  gem "radiant", "~> <%= radiant_version %>"
7
+ gem "compass-rails", "~> 1.0.3"
7
8
 
8
9
  # alternatively, in development
9
10
  # gem "radiant", :path => "/path/to/radiant/root"
@@ -17,7 +18,7 @@ gem "radiant", "~> <%= radiant_version %>"
17
18
  # gem "johnson" # Mozilla SpiderMonkey for Ruby
18
19
 
19
20
  # SQLite is the default database connection but only suitable for local use
20
- <%= '# ' unless db == 'sqlite3' %>gem "sqlite3", "~> 1.3.4"
21
+ <%= '# ' unless db == 'sqlite3' %>gem "sqlite3", "~> 1.3.5"
21
22
 
22
23
  # To use MySQL
23
24
  <%= '# ' unless db == 'mysql' %>gem "mysql", "~> 2.8.1"
@@ -32,18 +33,21 @@ gem "radiant", "~> <%= radiant_version %>"
32
33
  <%= '# ' unless db == 'sqlserver' %>gem "tiny_tds"
33
34
  <%= '# ' unless db == 'sqlserver' %>gem "activerecord-sqlserver-adapter", "~> 3.1.0"
34
35
 
36
+ gem "compass-rails", "~> 1.0.3"
37
+
35
38
  # Default Extensions
36
- gem "radiant-snippets-extension", "~> 1.0.1"
37
39
  gem "radiant-archive-extension", "~> 1.0.7"
38
- gem "radiant-clipped-extension", "~> 1.0.16"
40
+ gem "radiant-clipped-extension", "~> 1.1.0"
39
41
  gem "radiant-debug-extension", "~> 1.0.2"
40
- gem "radiant-exporter-extension", "~> 1.0.2"
42
+ gem "radiant-exporter-extension", "~> 1.1.0"
41
43
  gem "radiant-markdown_filter-extension", "~> 1.0.2"
42
- gem "radiant-sheets-extension", "~> 1.0.9"
44
+ gem "radiant-sheets-extension", "~> 1.1.0.alpha"
45
+ gem "radiant-snippets-extension", "~> 1.1.0.alpha"
43
46
  gem "radiant-site_templates-extension", "~> 1.0.4"
44
47
  gem "radiant-smarty_pants_filter-extension", "~> 1.0.2"
45
48
  gem "radiant-textile_filter-extension", "~> 1.0.4"
46
49
 
50
+
47
51
  # Language packs
48
52
  # gem "radiant-dutch_language_pack-extension", "~> 1.0.0"
49
53
  # gem "radiant-french_language_pack-extension", "~> 1.0.0"
data/lib/radiant.rb CHANGED
@@ -6,7 +6,7 @@ unless defined? Radiant::Version
6
6
  Major = '1'
7
7
  Minor = '1'
8
8
  Tiny = '0'
9
- Patch = 'beta' # set to nil for normal release
9
+ Patch = 'rc1' # set to nil for normal release
10
10
 
11
11
  class << self
12
12
  def to_s
@@ -0,0 +1,10 @@
1
+ module Radiant
2
+ class Engine < Rails::Engine
3
+ isolate_namespace Radiant
4
+
5
+ config.generators do |g|
6
+ g.test_framework :rspec
7
+ g.integration_tool :cucumber
8
+ end
9
+ end
10
+ end
@@ -108,7 +108,7 @@ module Radiant
108
108
  def activate_extension
109
109
  return if instance.active?
110
110
  instance.activate if instance.respond_to? :activate
111
- ActionController::Routing::Routes.add_configuration_file(instance.routing_file) if instance.routed?
111
+ ActionController::Routing::Routes.configuration_files.unshift(instance.routing_file) if instance.routed?
112
112
  ActionController::Routing::Routes.reload
113
113
  instance.active = true
114
114
  end
@@ -121,19 +121,10 @@ module Radiant
121
121
  end
122
122
  alias :deactivate :deactivate_extension
123
123
 
124
- def define_routes(&block)
125
- ActiveSupport::Deprecation.warn("define_routes has been deprecated in favor of your extension's config/routes.rb",caller)
126
- route_definitions << block
127
- end
128
-
129
124
  def inherited(subclass)
130
125
  subclass.extension_name = subclass.name.to_name('Extension')
131
126
  end
132
127
 
133
- def route_definitions
134
- @route_definitions ||= []
135
- end
136
-
137
128
  def migrate_from(extension_name, until_migration=nil)
138
129
  instance.migrates_from[extension_name] = until_migration
139
130
  end
@@ -292,6 +292,7 @@ module Radiant
292
292
  Rails::Rack::Metal.metal_paths = ["#{RADIANT_ROOT}/app/metal"] # reset Rails default to RADIANT_ROOT
293
293
  Rails::Rack::Metal.metal_paths += plugin_loader.engine_metal_paths
294
294
  Rails::Rack::Metal.metal_paths += extension_loader.paths(:metal)
295
+ Rails::Rack::Metal.metal_paths.uniq!
295
296
 
296
297
  configuration.middleware.insert_before(
297
298
  :"ActionController::ParamsParser",
@@ -0,0 +1,66 @@
1
+ module Radiant
2
+ class TaskSupport
3
+ class << self
4
+ def establish_connection
5
+ unless ActiveRecord::Base.connected?
6
+ connection_hash = YAML.load_file("#{Rails.root}/config/database.yml").to_hash
7
+ env_connection = connection_hash[RAILS_ENV]
8
+ ActiveRecord::Base.establish_connection(env_connection)
9
+ end
10
+ end
11
+ def config_export(path = "#{Rails.root}/config/radiant_config.yml")
12
+ self.establish_connection
13
+ FileUtils.mkdir_p(File.dirname(path))
14
+ if File.open(File.expand_path(path), 'w') { |f| YAML.dump(Radiant::Config.to_hash.to_yaml,f) }
15
+ puts "Radiant::Config saved to #{path}"
16
+ end
17
+ end
18
+ def config_import(path = "#{Rails.root}/config/radiant_config.yml", clear = nil)
19
+ self.establish_connection
20
+ if File.exist?(path)
21
+ begin
22
+ Radiant::Config.transaction do
23
+ Radiant::Config.delete_all if clear
24
+ configs = YAML.load(YAML.load_file(path))
25
+ configs.each do |key, value|
26
+ c = Radiant::Config.find_or_initialize_by_key(key)
27
+ c.value = value
28
+ c.save
29
+ end
30
+ end
31
+ puts "Radiant::Config updated from #{path}"
32
+ rescue ActiveRecord::RecordInvalid => e
33
+ puts "IMPORT FAILED and rolled back. #{e}"
34
+ end
35
+ else
36
+ puts "No file exists at #{path}"
37
+ end
38
+ end
39
+
40
+ # Write the combined content of files in dir into cache_file in the same dir.
41
+ #
42
+ def cache_files(dir, files, cache_file)
43
+ cache_content = files.collect { |f|
44
+ File.read(File.join(dir, f)) }.join("\n\n")
45
+
46
+ cache_path = File.join(dir, cache_file)
47
+ File.delete(cache_path) if File.exists?(cache_path)
48
+ File.open(cache_path, "w+") { |f| f.write(cache_content) }
49
+ end
50
+
51
+ # Reads through the layout file and returns an array of JS filenames
52
+ #
53
+ def find_admin_js
54
+ layout = "#{RADIANT_ROOT}/app/views/layouts/application.html.haml"
55
+ js_regexp = /javascript_include_tag %w\((.*)\), :cache => 'admin\/all/
56
+ files = File.open(layout) { |f| f.read.match(js_regexp)[1].split }
57
+ files.collect { |f| f.split('/').last + '.js' }
58
+ end
59
+
60
+ def cache_admin_js
61
+ dir = "#{Rails.root}/public/javascripts/admin"
62
+ cache_files(dir, find_admin_js, 'all.js')
63
+ end
64
+ end
65
+ end
66
+ end
@@ -107,7 +107,7 @@ unless File.directory? "#{RAILS_ROOT}/app"
107
107
 
108
108
  desc "Update the cached assets for the admin UI"
109
109
  task :cached_assets do
110
- TaskSupport.cache_admin_js
110
+ Radiant::TaskSupport.cache_admin_js
111
111
  end
112
112
 
113
113
  desc "Update Gemfile from your current radiant install, backing up if required."
@@ -1,18 +1,18 @@
1
- require 'task_support'
1
+ require 'radiant/task_support'
2
2
  namespace :radiant do
3
3
  namespace :config do
4
4
  desc "Export Radiant::Config to Rails.root/config/radiant_config.yml. Specify a path with RADIANT_CONFIG_PATH - defaults to Rails.root/config/radiant_config.yml"
5
5
  task :export => :environment do
6
6
  config_path = ENV['RADIANT_CONFIG_PATH'] || "#{Rails.root}/config/radiant_config.yml"
7
7
  clear = ENV['CLEAR_CONFIG'] || nil
8
- TaskSupport.config_export(config_path)
8
+ Radiant::TaskSupport.config_export(config_path)
9
9
  end
10
10
 
11
11
  desc "Import Radiant::Config from Rails.root/config/radiant_config.yml. Specify a path with RADIANT_CONFIG_PATH - defaults to Rails.root/config/radiant_config.yml Set CLEAR_CONFIG=true to delete all existing settings before import"
12
12
  task :import => :environment do
13
13
  config_path = ENV['RADIANT_CONFIG_PATH'] || "#{Rails.root}/config/radiant_config.yml"
14
14
  clear = ENV['CLEAR_CONFIG'] || nil
15
- TaskSupport.config_import(config_path, clear)
15
+ Radiant::TaskSupport.config_import(config_path, clear)
16
16
  end
17
17
  end
18
18
  end
@@ -103,7 +103,7 @@ namespace 'radiant' do
103
103
 
104
104
  desc "Generates cached assets from source files"
105
105
  task :generate_cached_assets do
106
- TaskSupport.cache_admin_js
106
+ Radiant::TaskSupport.cache_admin_js
107
107
  end
108
108
 
109
109
  desc "Publish the release files to RubyForge."
@@ -31,7 +31,7 @@ document.observe('dom:loaded', function() {
31
31
  preview_tools.style['opacity'] = 1
32
32
  body.addClassName('clipped')
33
33
  form.target = frame.id
34
- form.action = '/admin/preview'
34
+ form.action = relative_url_root + '/admin/preview'
35
35
  form.submit()
36
36
  } finally {
37
37
  form.target = oldTarget
@@ -2,7 +2,7 @@ function addField(form) {
2
2
  if (validFieldName()) {
3
3
  new Ajax.Updater(
4
4
  $('attributes').down('tbody'),
5
- '/admin/page_fields/',
5
+ relative_url_root + '/admin/page_fields/',
6
6
  {
7
7
  asynchronous: true,
8
8
  evalScripts: true,
@@ -3,8 +3,14 @@ var ShortcutKeysBehavior = Behavior.create({
3
3
  var character = String.fromCharCode(event.keyCode);
4
4
  if(!event.shiftKey && !character.blank())
5
5
  character = character.toLowerCase();
6
+ // Blindly passing RIGHT_ARROW through fromCharCode() returns a single-quote character (ascii decimal 39).
7
+ // I suspect that causes a bad string interpolation when evaluating `button`.
8
+ // Adding double-quotes to the accesskey spec seems to fix it.
9
+ // Now of course now keyCode 34 (double-quote in ascii decimal) will cause a problem... but your browser will likely catch Ctrl+PgDn anyway
10
+ // We should only evaluate keyCodes that can come from printable characters, now sure how feasible that is.
11
+ // Eg. http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
6
12
  if(event.ctrlKey && event.keyCode != 17){
7
- var button = $$('input[accesskey='+character+']')[0];
13
+ var button = $$('input[accesskey="'+character+'"]')[0];
8
14
  if(button){
9
15
  event.stop();
10
16
  button.click();
data/radiant.gemspec CHANGED
@@ -28,7 +28,8 @@ a general purpose content managment system--not merely a blogging engine.}
28
28
  s.add_dependency "rdoc", ">= 3.9.2"
29
29
  s.add_dependency "acts_as_tree", "~> 0.1.1"
30
30
  s.add_dependency "bundler", ">= 1.0.0"
31
- s.add_dependency "compass", "~> 0.11.1"
31
+ s.add_dependency "compass", "~> 0.12.2"
32
+ s.add_dependency "compass-rails", "~> 1.0.3"
32
33
  s.add_dependency "delocalize", "~> 0.2.3"
33
34
  s.add_dependency "haml", "~> 3.1.1"
34
35
  s.add_dependency "highline", "~> 1.6.10"
data/rails/init.rb ADDED
@@ -0,0 +1 @@
1
+ require 'compass-rails'
@@ -0,0 +1,7 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+ require 'rake'
6
+
7
+ Dummy::Application.load_tasks
@@ -0,0 +1,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery
3
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= stylesheet_link_tag :all %>
6
+ <%= javascript_include_tag :defaults %>
7
+ <%= csrf_meta_tag %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Dummy::Application
@@ -0,0 +1,45 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require "active_model/railtie"
4
+ require "active_record/railtie"
5
+ require "action_controller/railtie"
6
+ require "action_view/railtie"
7
+ require "action_mailer/railtie"
8
+
9
+ Bundler.require
10
+ require "radiant"
11
+
12
+ module Dummy
13
+ class Application < Rails::Application
14
+ # Settings in config/environments/* take precedence over those specified here.
15
+ # Application configuration should go into files in config/initializers
16
+ # -- all .rb files in that directory are automatically loaded.
17
+
18
+ # Custom directories with classes and modules you want to be autoloadable.
19
+ # config.autoload_paths += %W(#{config.root}/extras)
20
+
21
+ # Only load the plugins named here, in the order given (default is alphabetical).
22
+ # :all can be used as a placeholder for all plugins not explicitly named.
23
+ # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
24
+
25
+ # Activate observers that should always be running.
26
+ # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
27
+
28
+ # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
29
+ # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
30
+ # config.time_zone = 'Central Time (US & Canada)'
31
+
32
+ # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
33
+ # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
34
+ # config.i18n.default_locale = :de
35
+
36
+ # JavaScript files you want as :defaults (application.js is always included).
37
+ # config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
38
+
39
+ # Configure the default encoding used in templates for Ruby 1.9.
40
+ config.encoding = "utf-8"
41
+
42
+ # Configure sensitive parameters which will be filtered from the log file.
43
+ config.filter_parameters += [:password]
44
+ end
45
+ end
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ gemfile = File.expand_path('../../../../Gemfile', __FILE__)
3
+
4
+ if File.exist?(gemfile)
5
+ ENV['BUNDLE_GEMFILE'] = gemfile
6
+ require 'bundler'
7
+ Bundler.setup
8
+ end
9
+
10
+ $:.unshift File.expand_path('../../../../lib', __FILE__)
@@ -0,0 +1,22 @@
1
+ # SQLite version 3.x
2
+ # gem install sqlite3
3
+ development:
4
+ adapter: sqlite3
5
+ database: db/development.sqlite3
6
+ pool: 5
7
+ timeout: 5000
8
+
9
+ # Warning: The database defined as "test" will be erased and
10
+ # re-generated from your development database when you run "rake".
11
+ # Do not set this db to the same as development or production.
12
+ test:
13
+ adapter: sqlite3
14
+ database: db/test.sqlite3
15
+ pool: 5
16
+ timeout: 5000
17
+
18
+ production:
19
+ adapter: sqlite3
20
+ database: db/production.sqlite3
21
+ pool: 5
22
+ timeout: 5000
@@ -0,0 +1,5 @@
1
+ # Load the rails application
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the rails application
5
+ Dummy::Application.initialize!
@@ -0,0 +1,26 @@
1
+ Dummy::Application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the webserver when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Log error messages when you accidentally call methods on nil.
10
+ config.whiny_nils = true
11
+
12
+ # Show full error reports and disable caching
13
+ config.consider_all_requests_local = true
14
+ config.action_view.debug_rjs = true
15
+ config.action_controller.perform_caching = false
16
+
17
+ # Don't care if the mailer can't send
18
+ config.action_mailer.raise_delivery_errors = false
19
+
20
+ # Print deprecation notices to the Rails logger
21
+ config.active_support.deprecation = :log
22
+
23
+ # Only use best-standards-support built into browsers
24
+ config.action_dispatch.best_standards_support = :builtin
25
+ end
26
+
@@ -0,0 +1,49 @@
1
+ Dummy::Application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # The production environment is meant for finished, "live" apps.
5
+ # Code is not reloaded between requests
6
+ config.cache_classes = true
7
+
8
+ # Full error reports are disabled and caching is turned on
9
+ config.consider_all_requests_local = false
10
+ config.action_controller.perform_caching = true
11
+
12
+ # Specifies the header that your server uses for sending files
13
+ config.action_dispatch.x_sendfile_header = "X-Sendfile"
14
+
15
+ # For nginx:
16
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
17
+
18
+ # If you have no front-end server that supports something like X-Sendfile,
19
+ # just comment this out and Rails will serve the files
20
+
21
+ # See everything in the log (default is :info)
22
+ # config.log_level = :debug
23
+
24
+ # Use a different logger for distributed setups
25
+ # config.logger = SyslogLogger.new
26
+
27
+ # Use a different cache store in production
28
+ # config.cache_store = :mem_cache_store
29
+
30
+ # Disable Rails's static asset server
31
+ # In production, Apache or nginx will already do this
32
+ config.serve_static_assets = false
33
+
34
+ # Enable serving of images, stylesheets, and javascripts from an asset server
35
+ # config.action_controller.asset_host = "http://assets.example.com"
36
+
37
+ # Disable delivery errors, bad email addresses will be ignored
38
+ # config.action_mailer.raise_delivery_errors = false
39
+
40
+ # Enable threaded mode
41
+ # config.threadsafe!
42
+
43
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
44
+ # the I18n.default_locale when a translation can not be found)
45
+ config.i18n.fallbacks = true
46
+
47
+ # Send deprecation notices to registered listeners
48
+ config.active_support.deprecation = :notify
49
+ end