aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/application.rb
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #7695 from benolee/backport_cc7dd66_and_c0ba0f0Rafael Mendonça França2013-05-121-0/+11
|\ | | | | | | | | | | | | backport runner fixes to 3-2-stable Conflicts: railties/CHANGELOG.md
| * backport runner fixes to 3-2-stablekennyj2012-12-161-0/+11
| | | | | | | | | | | | | | Add a runner hook to Rails::Application and Rails::Engine that requires ActiveRecord::Base to avoid circular constant loading when using observers. This commit backports cc7dd66, c0ba0f0 and 8d01c61.
* | Change @env_config to @app_env_configEvan Phoenix2013-03-181-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moral of the story: One must be careful about lazily initializing instance variables when subclassing. I would like to draw your attention to https://github.com/rails/rails/issues/4652 where the reader will see that there appears to be some kind of initialization issue in rails. The source of this issue is that: 1) Engine#env_config contains "@env_config ||= ..." 2) Application#env_config contains "@env_config ||= ..." 3) Threads are in the picture 4) Thread A calls Application#env_config, which super's to Engine#env_config 5) After Engine#env_config returns but before Application#env_config sets @env_config again, Thread B begins running 6) Thread B calls Application#env_config 7) Thread B finds @env_config to contain a value (the one set by Engine#env_config) and returns it 8) Thread B blows up because key set by Application#env_config are there. 9) People report bugs with puma, thin, rainbows, webrick, etc 10) Evan becomes tired of seeing these bugs 11) Evan pours himself a stiff drink, puts on Top Gear(tm), and begins debugging 12) Evan finds the source of the bug 13) Evan authors a PR 14) RIGHT NOW. The bug is fixed by simply using a different ivar name in the methods. Alternately, Engine#env_config could just return a new Hash each time, not memoizing into @env_config. I bid you adieu.
* Require ActionController::Railtie in the default middleware stack.Rafael Mendonça França2012-10-181-0/+2
| | | | | This will make possible to do a frameworkless initialization since the the default middleware stack is self contained.
* Update documentation for Rails::Application#env_configJustin Mazzi2012-07-161-3/+6
|
* Fix railties_order when application object is passedPiotr Sarnacki2012-05-271-1/+1
| | | | | | | | | | | | | | | railites_order method, introduced in 40b19e0, had a bug that was causing loading application instance twice in initializers if railties_order already included application instance. So for example railties_order = [Foo::Engine, :main_app, Bar::Engine] would result in such railties array: [MyApp::Application, Foo::Engine, MyAppApplication, Bar::Engine] In order to fix it, we need to check for existence of application in both railties_order and railties arrays.
* config.force_ssl should mark the session as secure.José Valim2012-01-131-0/+3
|
* Add ORIGINAL_FULLPATH to envPiotr Sarnacki2012-01-101-0/+17
| | | | | | | | | | | This behaves similarly to REQUEST_URI, but we need to implement it on our own because REQUEST_URI is not reliable. Note that since PATH_INFO does not contain information about trailing question mark, this is not 100% accurate, for example `/foo?` will result in `/foo` in ORIGINAL_FULLPATH
* Allow a custom exceptions app to set.José Valim2011-12-161-1/+1
|
* Extract the rendering of public exceptions pages into a Rack app.José Valim2011-12-161-1/+1
|
* Fix diagnostics page for routing errors.José Valim2011-12-151-0/+1
|
* FileUpdateChecker should be able to handle deleted files.José Valim2011-12-131-1/+1
|
* Move hooks back to initializers (we need an API that allows hooks to be ↵José Valim2011-12-131-32/+0
| | | | replaced).
* Add config.file_watcher so developers can provide their own watchers (for ↵José Valim2011-12-131-2/+1
| | | | instance, hooking on fsevents).
* Revert "Provide a unique point for running initializers."José Valim2011-12-131-5/+5
| | | | | | | | | | This reverts commit c2e3ce8d1e1174e66536d59d8d97eb2cc8ce6f25. Conflicts: railties/lib/rails/application/configuration.rb railties/lib/rails/application/finisher.rb railties/lib/rails/engine.rb
* Speed up development by only reloading classes if dependencies files changed.José Valim2011-12-121-2/+38
| | | | | | | | This can be turned off by setting `config.reload_classes_only_on_change` to false. Extensions like Active Record should add their respective files like db/schema.rb and db/structure.sql to `config.watchable_files` if they want their changes to affect classes reloading. Thanks to https://github.com/paneq/active_reload and Pastorino for the inspiration. <3
* Give hooks the flexibility to choose the type of callback.José Valim2011-12-121-7/+9
|
* Provide a unique point for running initializers.José Valim2011-12-121-4/+5
|
* Improve docs for Rails::Application and add routes_reloader_hook and ↵José Valim2011-12-121-8/+55
| | | | app_reloader_hooks.
* Split ShowExceptions responsibilities in two middlewares.José Valim2011-12-011-0/+3
|
* put backtrace_cleaner to envlest2011-11-281-1/+2
|
* middlewares should use logger from envlest2011-11-251-1/+2
|
* Allow to change engine's loading priority with config.railties_order=Piotr Sarnacki2011-11-231-0/+22
|
* Rely on a public contract between railties instead of accessing railtie ↵José Valim2011-11-231-0/+4
| | | | methods directly.
* add ActionController::Metal#show_detailed_exceptions?lest2011-11-221-1/+1
|
* Extend IRB right before starting IRB to remove dependency on IRB from ↵Akira Matsuda2011-11-101-2/+0
| | | | Rails::Application
* Modulize Rails console methods so that other console libraries such as Pry ↵Akira Matsuda2011-11-091-0/+2
| | | | can include these methods
* Unify logger and taggedlogging middleware as both address logging concerns.José Valim2011-10-191-2/+1
|
* Added X-Request-Id tracking and TaggedLogging to easily log that and other ↵David Heinemeier Hansson2011-10-191-0/+2
| | | | production concerns
* :group => :assets should only run in the assets environment.José Valim2011-10-021-1/+1
|
* Make the Rack::SSL middleware configurableJustin Leitgeb2011-09-261-1/+1
|
* `rake assets:precompile` loads the application but does not initialize it.José Valim2011-09-241-3/+2
| | | | | | | | | | | | | To the app developer, this means configuration add in config/initializers/* will not be executed. Plugins developers need to special case their initializers that are meant to be run in the assets group by adding :group => :assets. Conflicts: railties/CHANGELOG railties/test/application/assets_test.rb
* dealing with some -w warnings on startupAaron Patterson2011-08-241-0/+5
|
* Don't use Rack::Sendfile middleware if x_sendfile_header is not presentSantiago Pastorino2011-08-131-1/+3
|
* Merge branch 'master' of git://github.com/lifo/docrailsXavier Noria2011-07-231-1/+1
|\
| * grammar/tense correction to rails application docMatt Jankowski2011-07-121-1/+1
| |
* | Rails.application#env_config is now public API. [Closes #1924]Franck Verrot2011-07-111-0/+9
|/
* Cherry-picking patch for https://github.com/rails/rails/issues/1460Joseph Wong2011-06-161-6/+0
| | | | | | | | | | | | | | | | | | | | | | | from 3-1-stable to master [3.1.0.rc1] Plugins inside engines not eager-loaded properly and their rake tasks ignored Working with the new support for plugins inside engines in Rails 3.1, I found that certain things that work for regular plugins don't work for these new nested plugins. In particular, these methods in Rails::Engine don't seem to understand that an engine could have nested plugins: #load_tasks #load_generators #load_console #eager_load! A solution which worked out for me is to move the calls to railties.all { ... } from the overriding methods in Rails::Application into Rails::Engine.
* Merge pull request #1356 from flippingbits/fix_engine_generatorJosé Valim2011-06-091-12/+0
|\ | | | | Fix engine's generator
| * Move load_generators from Rails::Application to Rails::EngineStefan Sprenger2011-05-261-12/+0
| |
* | Fixing Rails::Server#app under Rack::URLMapGuillermo Iguaran2011-06-071-0/+4
|/
* Everyone receives app as argument for consistency.José Valim2011-05-251-6/+8
|
* Streamline generators initialization flow.José Valim2011-05-251-3/+3
|
* Update generator config to support hiding namespaces and pass the app into ↵wycats2011-05-241-2/+3
| | | | generator blocks
* Move content length to the server, this brings the same behavior as in rack 1.2.José Valim2011-05-231-2/+0
|
* Make Rake::DSL methods available within Railtie rake_tasks blockPatrick Quinn2011-05-201-4/+6
| | | | Fixes incompatibility introduced by Rake 0.9.0
* Temporarily ship with ContentLength middleware.José Valim2011-05-201-1/+1
|
* Use Rack::ContentLength.José Valim2011-05-191-0/+2
|
* always enable `pp` on the Rails consoleAkira Matsuda2011-05-181-0/+1
|
* Logs should show overridden method; Issue 426David Lee2011-05-071-3/+3
|