Class: Rails::Application::Configuration

Inherits:
Engine::Configuration show all
Includes:
Configuration::Deprecated
Defined in:
lib/rails/application/configuration.rb

Instance Attribute Summary collapse

Attributes inherited from Engine::Configuration

#autoload_once_paths, #autoload_paths, #eager_load_paths, #root

Instance Method Summary collapse

Methods included from Configuration::Deprecated

#controller_paths, #controller_paths=, #cookie_secret, #cookie_secret=, #database_configuration_file, #database_configuration_file=, #frameworks, #log_path, #log_path=, #routes_configuration_file, #routes_configuration_file=, #view_path, #view_path=

Methods inherited from Engine::Configuration

#gem, #load_paths, #load_paths=

Methods inherited from Railtie::Configuration

#after_initialize, #app_generators, #app_middleware, #before_configuration, #before_eager_load, #before_initialize, #respond_to?, #to_prepare, #to_prepare_blocks

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.


19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/rails/application/configuration.rb', line 19

def initialize(*)
  super
  self.encoding = "utf-8"
  @allow_concurrency = false
  @consider_all_requests_local = false
  @filter_parameters = []
  @dependency_loading = true
  @serve_static_assets = true
  @session_store = :cookie_store
  @session_options = {}
  @time_zone = "UTC"
  @middleware = app_middleware
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Rails::Railtie::Configuration

Instance Attribute Details

#allow_concurrencyObject

Returns the value of attribute allow_concurrency


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def allow_concurrency
  @allow_concurrency
end

#cache_classesObject

Returns the value of attribute cache_classes


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def cache_classes
  @cache_classes
end

#cache_storeObject

Returns the value of attribute cache_store


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def cache_store
  @cache_store
end

#consider_all_requests_localObject

Returns the value of attribute consider_all_requests_local


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def consider_all_requests_local
  @consider_all_requests_local
end

#dependency_loadingObject

Returns the value of attribute dependency_loading


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def dependency_loading
  @dependency_loading
end

#encodingObject

Returns the value of attribute encoding


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def encoding
  @encoding
end

#filter_parametersObject

Returns the value of attribute filter_parameters


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def filter_parameters
  @filter_parameters
end

#log_levelObject

Returns the value of attribute log_level


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def log_level
  @log_level
end

#loggerObject

Returns the value of attribute logger


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def logger
  @logger
end

#middlewareObject

Returns the value of attribute middleware


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def middleware
  @middleware
end

#pluginsObject

Returns the value of attribute plugins


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def plugins
  @plugins
end

#preload_frameworksObject

Returns the value of attribute preload_frameworks


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def preload_frameworks
  @preload_frameworks
end

#reload_pluginsObject

Returns the value of attribute reload_plugins


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def reload_plugins
  @reload_plugins
end

#secret_tokenObject

Returns the value of attribute secret_token


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def secret_token
  @secret_token
end

#serve_static_assetsObject

Returns the value of attribute serve_static_assets


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def serve_static_assets
  @serve_static_assets
end

#session_optionsObject

Returns the value of attribute session_options


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def session_options
  @session_options
end

#time_zoneObject

Returns the value of attribute time_zone


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def time_zone
  @time_zone
end

#whiny_nilsObject

Returns the value of attribute whiny_nils


10
11
12
# File 'lib/rails/application/configuration.rb', line 10

def whiny_nils
  @whiny_nils
end

Instance Method Details

#builtin_controllerObject


101
102
103
# File 'lib/rails/application/configuration.rb', line 101

def builtin_controller
  File.expand_path('../info_routes', __FILE__) if Rails.env.development?
end

#colorize_loggingObject


109
110
111
# File 'lib/rails/application/configuration.rb', line 109

def colorize_logging
  @colorize_logging
end

#colorize_logging=(val) ⇒ Object


113
114
115
116
117
# File 'lib/rails/application/configuration.rb', line 113

def colorize_logging=(val)
  @colorize_logging = val
  ActiveSupport::LogSubscriber.colorize_logging = val
  self.generators.colorize_logging = val
end

#database_configurationObject

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.


86
87
88
89
# File 'lib/rails/application/configuration.rb', line 86

def database_configuration
  require 'erb'
  YAML::load(ERB.new(IO.read(paths.config.database.to_a.first)).result)
end

#pathsObject


47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/rails/application/configuration.rb', line 47

def paths
  @paths ||= begin
    paths = super
    paths.app.controllers << builtin_controller if builtin_controller
    paths.config.database     "config/database.yml"
    paths.config.environment  "config/environment.rb"
    paths.config.environments "config/environments", :glob => "#{Rails.env}.rb"
    paths.lib.templates       "lib/templates"
    paths.log                 "log/#{Rails.env}.log"
    paths.tmp                 "tmp"
    paths.tmp.cache           "tmp/cache"
    paths.vendor              "vendor", :load_path => true
    paths.vendor.plugins      "vendor/plugins"

    if File.exists?("#{root}/test/mocks/#{Rails.env}")
      ActiveSupport::Deprecation.warn "\"Rails.root/test/mocks/#{Rails.env}\" won't be added " <<
        "automatically to load paths anymore in future releases"
      paths.mocks_path  "test/mocks", :autoload => true, :glob => Rails.env
    end

    paths
  end
end

#session_store(*args) ⇒ Object


119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'lib/rails/application/configuration.rb', line 119

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!Object

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.


75
76
77
78
79
80
81
# File 'lib/rails/application/configuration.rb', line 75

def threadsafe!
  self.preload_frameworks = true
  self.cache_classes = true
  self.dependency_loading = false
  self.allow_concurrency = true
  self
end