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_middleware, #before_configuration, #before_eager_load, #before_initialize, #generators, #respond_to?, #to_prepare, #to_prepare_blocks

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



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

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



99
100
101
# File 'lib/rails/application/configuration.rb', line 99

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

#colorize_loggingObject



107
108
109
# File 'lib/rails/application/configuration.rb', line 107

def colorize_logging
  @colorize_logging
end

#colorize_logging=(val) ⇒ Object



111
112
113
114
115
# File 'lib/rails/application/configuration.rb', line 111

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.



84
85
86
87
# File 'lib/rails/application/configuration.rb', line 84

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

#pathsObject



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

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



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

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.



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

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