aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails
Commit message (Collapse)AuthorAgeFilesLines
* No need to sync config.secret_token and secrets.secret_tokenRafael Mendonça França2014-11-101-7/+2
| | | | Just prefer secrets over config
* Merge pull request #16535 from bf4/patch-1Rafael Mendonça França2014-11-101-4/+16
|\ | | | | | | Allow fallback to LegacyKeyGenerator when secret_key_base is not set but secrets.secret_token is
| * `secret_token` is now saved in `Rails.application.secrets.secret_token`Benjamin Fleischer2014-11-021-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - `secrets.secret_token` is now used in all places `config.secret_token` was - `secrets.secret_token`, when not present in `config/secrets.yml`, now falls back to the value of `config.secret_token` - when `secrets.secret_token` is set, it over-writes `config.secret_token` so they are the same (for backwards-compatibility) - Update docs to reference app.secrets in all places - Remove references to `config.secret_token`, `config.secret_key_base` - Warn that missing secret_key_base is deprecated - Add tests for secret_token, key_generator, and message_verifier - the legacy key generator is used with the message verifier when secrets.secret_key_base is blank and secret_token is set - app.key_generator raises when neither secrets.secret_key_base nor secret_token are set - app.env_config raises when neither secrets.secret_key_base nor secret_token are set - Add changelog Run focused tests via ruby -w -Itest test/application/configuration_test.rb -n '/secret_|key_/'
* | added description for rails generators, and fixed sentence formation for ↵Rishi Jain2014-11-102-0/+4
| | | | | | | | active_support/notifications [ci skip]
* | Fix comment of SourceAnnotationExtractor#find_inyui-knk2014-11-091-3/+2
| | | | | | | | | | | | Commit(810af6f) changed which extensions are taken into account, so make to match comment of find_in. And sort extensions to follow the added order.
* | Documenting Rails::Info module [ci skip]Zachary Scott2014-11-081-0/+3
| |
* | Add test/jobs files in `rake stats`Arun Agrawal2014-11-052-1/+3
| |
* | add lib to $LOAD_PATH on application inhertence. fixes #17106Aaron Patterson2014-11-042-8/+14
|/
* Prepare for 4.2.0.beta4 releaseGodfrey Chan2014-10-301-1/+1
|
* On larger screens the email preview iframe is being limited to a height of ↵Edwin Wills2014-10-291-1/+4
| | | | 800 pixels, and the full available screen size is not being used.
* Merge pull request #17423 from lukefx/jruby_windows_tzinfoSantiago Pastorino2014-10-291-2/+2
|\ | | | | Added 'tzinfo-data' if we are using jruby
| * Added 'tzinfo-data' if we are using jrubyLuca Simone2014-10-291-2/+2
| |
* | edit pass over all warningsXavier Noria2014-10-281-1/+1
|/ | | | | | | | | | | | | | | This patch uniformizes warning messages. I used the most common style already present in the code base: * Capitalize the first word. * End the message with a full stop. * "Rails 5" instead of "Rails 5.0". * Backticks for method names and inline code. Also, converted a few long strings into the new heredoc convention.
* Add back --skip-turbolinks and remove --skip-gemsRafael Mendonça França2014-10-261-6/+9
| | | | | | | For the most part of cases --skip-gems option just remove one line in the Gemfile. This is not worth for the complexity it adds. Closes #17196
* Merge pull request #17302 from ↵Rafael Mendonça França2014-10-182-4/+4
| | | | | | claudiob/replace-slower-block-call-with-faster-yield Replace (slower) block.call with (faster) yield
* Revert "Replace (slower) block.call with (faster) yield"Zachary Scott2014-10-182-4/+4
| | | | This reverts commit 0ab075e75f58bf403f7ebe20546c7005f35db1f6.
* Replace (slower) block.call with (faster) yieldclaudiob2014-10-182-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Performance optimization: `yield` with an implicit `block` is faster than `block.call`. See http://youtu.be/fGFM_UrSp70?t=10m35s and the following benchmark: ```ruby require 'benchmark/ips' def fast yield end def slow(&block) block.call end Benchmark.ips do |x| x.report('fast') { fast{} } x.report('slow') { slow{} } end # => fast 154095 i/100ms # => slow 71454 i/100ms # => # => fast 7511067.8 (±5.0%) i/s - 37445085 in 4.999660s # => slow 1227576.9 (±6.8%) i/s - 6145044 in 5.028356s ```
* Merge pull request #17292 from tricknotes/generator-test-docRafael Mendonça França2014-10-161-1/+1
|\ | | | | Fix example code for `Rails::Generators::Testing::Behaviour` [ci skip]
| * Fix example code for `Rails::Generators::Testing::Behaviour` [ci skip]Ryunosuke SATO2014-10-171-1/+1
| | | | | | | | | | `cleanup_destination_root` method is not found anywhere. Instead, `prepare_destination` clean up distination root on setup.
* | Use released rails-dom-testingRafael Mendonça França2014-10-161-2/+0
|/
* Merge pull request #17278 from velobuff/clarify-debugger-invocationYves Senn2014-10-161-1/+2
|\ | | | | clarify debugger platform invocation
| * clarify debugger platform invocationRaman Sinha2014-10-151-1/+2
| |
* | Merge pull request #17280 from aditya-kapoor/remove-unneeded-fileYves Senn2014-10-161-9/+0
|\ \ | | | | | | remove unneeded file from Railties.
| * | remove unneeded fileAditya Kapoor2014-10-161-9/+0
| |/
* / use require_command! instead of calling its definitionAditya Kapoor2014-10-161-1/+1
|/
* Merge pull request #17240 from masarakki/fix-test_helper-of-mountable-pluginRafael Mendonça França2014-10-131-0/+3
|\ | | | | fix test_helper for mountable plugin
| * fix test_helper for mountable pluginmasarakki2014-10-131-0/+3
| |
* | Replace Enumerable#reverse.each with Enumerable#reverse_eachErik Michaels-Ober2014-10-131-1/+1
| |
* | Default generated Gemfile to coffee-rails ~> 4.1.0Joshua Peek2014-10-121-2/+2
|/
* Generate the application pointing to rails-dom-testing masterRafael Mendonça França2014-09-301-0/+2
| | | | It is temporary until we do the final release
* correct filename for jobs testsAbdelkader Boudih2014-09-281-1/+1
|
* Merge pull request #17077 from schneems/schneems/backtrace-string-allocationsJeremy Kemper2014-09-271-4/+9
|\ | | | | Decrease backtrace cleaner object allocations
| * Move object allocation out of loopRichard Schneeman2014-09-271-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now BenchmarkCleaner allocates hundreds of strings on every request with an exception. This patch moves those strings to be generated at boot once and re-used. ## Bench Methods I took a modified form of CodeTriage https://github.com/schneems/codetriage-ko1-test-app/blob/master/perf.rake and ran given rake tasks with and without the patch to BacktraceCleaner. I made an endpoint results in exception ``` def index raise “foo" end ``` The gem `memory_profiler` was used to capture objects allocated for a single request. Then `benchmark/ips` was used to test the speed of the patch. You will see that we use less objects and the code becomes measurably faster with this patch. ## With patch: Memory for one request: ``` Total allocated 7441 Total retained 37 ``` Requests per second: ``` Calculating ------------------------------------- ips 4 i/100ms ------------------------------------------------- ips 43.0 (±4.7%) i/s - 216 in 5.037733s ``` ## Without patch: Memory used for one request: ``` Total allocated 11599 Total retained 35 ``` Requests per second: ``` Calculating ------------------------------------- ips 3 i/100ms ------------------------------------------------- ips 39.4 (±7.6%) i/s - 198 in 5.052783s ``` ## Analysis The patch is faster: ``` (43.0 - 39.4 ) / 39.4 * 100 # => 9 # % ~ speed bump ``` It also allocates less objects: ``` 11599 - 7441 # => 4158 ``` These strings are allocated on __EVERY SINGLE REQUEST__. This patch saves us 4158 objects __PER REQUEST__ with exception. Faster errors == Faster applications
* | Preparing for 4.2.0.beta2 releaseRafael Mendonça França2014-09-261-1/+1
| |
* | remove extra # in cssByron Bischoff2014-09-251-1/+1
| |
* | rails-html-sanitizer is now the defaultRafael Mendonça França2014-09-251-3/+0
| | | | | | | | Also add to upgrading guide a notice about the deprecated sanitizers
* | Remove unused codeRafael Mendonça França2014-09-251-11/+0
| |
* | :nail_care: the CSSRafael Mendonça França2014-09-251-7/+18
| |
* | Merge pull request #17024 from buddhamagnet/amend-welcome-pageRafael Mendonça França2014-09-252-14/+11
|\ \ | | | | | | Amend welcome page
| * | Improve welcome page css and table cell aignments.buddhamagnet2014-09-252-14/+11
| |/
* | Use released rails-html-sanitizer and rails-deprecated_sanitizerGodfrey Chan2014-09-261-1/+1
| |
* | Use release web-consoleRafael Mendonça França2014-09-251-1/+1
| |
* | Remove --skip-action-view option from application generatorDan Olson2014-09-243-6/+3
| |
* | Fix loading fixtures in engine testsGrzesiek Kolodziejczyk2014-09-231-1/+1
|/ | | | | | | fixture_path is a class attribute of ActiveSupport::TestCase, so ActiveSupport::TestCase.method_defined?(:fixture_path=) would always return false. This should fix #4971
* Merge pull request #16984 from chancancode/fix_16578Godfrey Chan2014-09-221-5/+1
|\ | | | | Document that the default for `rails server -b` has changed
| * Document that the default for `rails server -b` has changedGodfrey Chan2014-09-221-5/+1
| | | | | | | | Fixes #16578
* | Standardize on `Rails.application` [ci skip]Tamir Duberstein2014-09-191-1/+1
|/ | | | This seems to be the style settled on in most of the templates.
* Merge pull request #16936 from untidy-hair/plugin_test_db_migrate_pathRafael Mendonça França2014-09-181-0/+3
|\ | | | | | | | | | | | | Specify dummy app's db migrate path in plugin's test_helper.rb Conflicts: railties/CHANGELOG.md
| * Specify dummy app's db migrate path in plugin's test_helper.rbYukio Mizuta2014-09-161-0/+3
| |
* | inject Rack::Lock if config.eager_load is falseXavier Noria2014-09-181-1/+5
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | If code is not eager loaded constants are loaded on demand. Constant autoloading is not thread-safe, so if eager loading is not enabled multi-threading should not be allowed. This showed up in certain Capybara scenarios: Most Capybara drivers other than Rack::Test need a web server. In particular, drivers for JavaScript support. Capybara launches WEBrick in its own thread for those but that per se is fine, because the spec thread and the server thread are coordinated. Problem comes if the page being served in the spec makes Ajax calls. Those may hit WEBrick in parallel, and since WEBrick is multi-threaded and allow_concurrency? returns true in the test environment before this patch, threads are spawned to serve those parallel requests. On the other hand, since eager_load is false by default in the test environment, constants are not preloaded. So the suite is autoloading constants in a multi-threaded set. That's a receipt for paracetamol. The symptom is random obscure errors whose messages point somehow to constant autoloading. As a consequence of this fix for allow_concurrency? WEBrick in Capybara scenarios no longer runs in multi-threaded mode. Fixes #15089.