class Rails::Application::Configuration

Attributes

allow_concurrency[RW]
asset_host[RW]
asset_path[RW]
assets[RW]
cache_classes[RW]
cache_store[RW]
consider_all_requests_local[RW]
dependency_loading[RW]
encoding[R]
exceptions_app[RW]
file_watcher[RW]
filter_parameters[RW]
force_ssl[RW]
helpers_paths[RW]
log_level[W]
log_tags[RW]
logger[RW]
preload_frameworks[RW]
railties_order[RW]
relative_url_root[RW]
reload_classes_only_on_change[RW]
reload_plugins[RW]
secret_token[RW]
serve_static_assets[RW]
session_options[RW]
ssl_options[RW]
static_cache_control[RW]
time_zone[RW]
whiny_nils[RW]

Public Class Methods

new(*) click to toggle source
Calls superclass method Rails::Engine::Configuration.new
# File lib/rails/application/configuration.rb, line 20
def initialize(*)
  super
  self.encoding = "utf-8"
  @allow_concurrency             = false
  @consider_all_requests_local   = false
  @filter_parameters             = []
  @helpers_paths                 = []
  @dependency_loading            = true
  @serve_static_assets           = true
  @static_cache_control          = nil
  @force_ssl                     = false
  @ssl_options                   = {}
  @session_store                 = :cookie_store
  @session_options               = {}
  @time_zone                     = "UTC"
  @log_level                     = nil
  @middleware                    = app_middleware
  @generators                    = app_generators
  @cache_store                   = [ :file_store, "#{root}/tmp/cache/" ]
  @railties_order                = [:all]
  @relative_url_root             = ENV["RAILS_RELATIVE_URL_ROOT"]
  @reload_classes_only_on_change = true
  @file_watcher                  = ActiveSupport::FileUpdateChecker
  @exceptions_app                = nil

  @assets = ActiveSupport::OrderedOptions.new
  @assets.enabled                  = false
  @assets.paths                    = []
  @assets.precompile               = [ Proc.new{ |path| !File.extname(path).in?(['.js', '.css']) },
                                       /(?:\/|\|\A)application\.(css|js)$/ ]
  @assets.prefix                   = "/assets"
  @assets.version                  = ''
  @assets.debug                    = false
  @assets.compile                  = true
  @assets.digest                   = false
  @assets.manifest                 = nil
  @assets.cache_store              = [ :file_store, "#{root}/tmp/cache/assets/" ]
  @assets.js_compressor            = nil
  @assets.css_compressor           = nil
  @assets.initialize_on_precompile = true
  @assets.logger                   = nil
end

Public Instance Methods

colorize_logging() click to toggle source
# File lib/rails/application/configuration.rb, line 122
def colorize_logging
  @colorize_logging
end
colorize_logging=(val) click to toggle source
# File lib/rails/application/configuration.rb, line 126
def colorize_logging=(val)
  @colorize_logging = val
  ActiveSupport::LogSubscriber.colorize_logging = val
  self.generators.colorize_logging = val
end
compiled_asset_path() click to toggle source
# File lib/rails/application/configuration.rb, line 63
def compiled_asset_path
  "/"
end
database_configuration() click to toggle source

Loads and returns the contents of the database_configuration_file. The contents of the file are processed via ERB before being sent through YAML::load.

# File lib/rails/application/configuration.rb, line 113
def database_configuration
  require 'erb'
  YAML::load(ERB.new(IO.read(paths["config/database"].first)).result)
end
encoding=(value) click to toggle source
# File lib/rails/application/configuration.rb, line 67
def encoding=(value)
  @encoding = value
  if "ruby".encoding_aware?
    silence_warnings do
      Encoding.default_external = value
      Encoding.default_internal = value
    end
  else
    $KCODE = value
    if $KCODE == "NONE"
      raise "The value you specified for config.encoding is "                    "invalid. The possible values are UTF8, SJIS, or EUC"
    end
  end
end
log_level() click to toggle source
# File lib/rails/application/configuration.rb, line 118
def log_level
  @log_level ||= Rails.env.production? ? :info : :debug
end
paths() click to toggle source
Calls superclass method Rails::Engine::Configuration#paths
# File lib/rails/application/configuration.rb, line 83
def paths
  @paths ||= begin
    paths = super
    paths.add "config/database",    :with => "config/database.yml"
    paths.add "config/environment", :with => "config/environment.rb"
    paths.add "lib/templates"
    paths.add "log",                :with => "log/#{Rails.env}.log"
    paths.add "public"
    paths.add "public/javascripts"
    paths.add "public/stylesheets"
    paths.add "tmp"
    paths
  end
end
session_store(*args) click to toggle source
# File lib/rails/application/configuration.rb, line 132
def session_store(*args)
  if args.empty?
    case @session_store
    when :disabled
      nil
    when :active_record_store
      ActiveRecord::SessionStore
    when Symbol
      ActionDispatch::Session.const_get(@session_store.to_s.camelize)
    else
      @session_store
    end
  else
    @session_store = args.shift
    @session_options = args.shift || {}
  end
end
threadsafe!() click to toggle source

Enable threaded mode. Allows concurrent requests to controller actions and multiple database connections. Also disables automatic dependency loading after boot, and disables reloading code on every request, as these are fundamentally incompatible with thread safety.

# File lib/rails/application/configuration.rb, line 102
def threadsafe!
  self.preload_frameworks = true
  self.cache_classes = true
  self.dependency_loading = false
  self.allow_concurrency = true
  self
end