aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | improve performance of integration tests.Aaron Patterson2015-01-271-1/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found delegate to be a bottleneck during integration tests. Here is the test case: ```ruby require 'test_helper' class DocumentsIntegrationTest < ActionDispatch::IntegrationTest test "index" do get '/documents' assert_equal 200, response.status end end Minitest.run_one_method(DocumentsIntegrationTest, 'test_index') StackProf.run(mode: :wall, out: 'stackprof.dump') do 3000.times do Minitest.run_one_method(DocumentsIntegrationTest, 'test_index') end end ``` Top of the stack: ``` [aaron@TC integration_performance_test (master)]$ stackprof stackprof.dump ================================== Mode: wall(1000) Samples: 23694 (7.26% miss rate) GC: 1584 (6.69%) ================================== TOTAL (pct) SAMPLES (pct) FRAME 7058 (29.8%) 6178 (26.1%) block in Module#delegate 680 (2.9%) 680 (2.9%) ActiveSupport::PerThreadRegistry#instance 405 (1.7%) 405 (1.7%) ThreadSafe::NonConcurrentCacheBackend#[] 383 (1.6%) 383 (1.6%) Set#include? 317 (1.3%) 317 (1.3%) ActiveRecord::Base.logger 281 (1.2%) 281 (1.2%) Rack::Utils::HeaderHash#[]= 269 (1.1%) 269 (1.1%) ActiveSupport::Notifications::Fanout::Subscribers::Evented#subscribed_to? 262 (1.1%) 262 (1.1%) block (4 levels) in Class#class_attribute 384 (1.6%) 246 (1.0%) block (2 levels) in Class#class_attribute ``` According to @eileencodes's tests, this speeds up integration tests so that they are only 1.4x slower than functional tests: Before: INDEX: Integration Test: 153.2 i/s - 2.43x slower After: INDEX: Integration Test: 275.1 i/s - 1.41x slower
* | | Speed up `normalize_keys` by removing dup step.Kasper Timm Hansen2015-01-221-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | Previously env was duplicated and then had it's keys mutated. This iterates through the hash twice. Using `transform_keys`, duplication and key mutation is a single iteration. `convert_symbols` was renamed to `http_header_format`.
* | | Merge pull request #18546 from brainopia/action_view_renderRafael Mendonça França2015-01-228-4/+253
|\ \ \ | |_|/ |/| | A shortcut to setup controller environment
| * | Add ActionController::Base.renderbrainopia2015-01-223-0/+10
| | |
| * | Add ActionController::Rendererbrainopia2015-01-225-0/+216
| | | | | | | | | | | | Render arbitrary templates outside of controller actions
| * | Add ActionController#build_with_envbrainopia2015-01-221-0/+6
| | | | | | | | | | | | | | | To have an easier way to setup a controller instance with custom environment
| * | Support `:assigns` option when rendering with controllers/mailers.brainopia2015-01-221-0/+4
| | |
| * | Add `ActionController::Metal#set_request!`brainopia2015-01-213-4/+17
| | | | | | | | | | | | | | | Add `ActionController::Metal#set_request!` to set a request on controller instance without calling dispatch.
* | | Merge pull request #18483 from rono23/fix-name_for_action-in-routingSantiago Pastorino2015-01-192-2/+41
|\ \ \ | |/ / |/| | Fix name_for_action in routing
| * | Fix name_for_action in routingrono232015-01-192-2/+41
| | |
* | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-01-151-2/+2
|\ \ \
| * | | Better examples for fresh_when and stale?claudiob2015-01-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is clearer and closer to reality to use `@article.updated_at` as the `:last_modified` parameter of `fresh_when` and `stale?`. Using `@article.created_at` would result in the cache never expiring, since the creation timestamp never changes. [ci skip]
* | | | Extract `Date` header to string constant in Http Response, similar to other ↵Vipul A M2015-01-141-3/+4
| |/ / |/| | | | | | | | headers
* | | Relax Rack dependencySantiago Pastorino2015-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Rack is very carefully released, we should be able to upgrade minor versions without much effort. We are a bunch of Rails core who are also Rack core members so there won't be any issue with that. And in case there's something wrong, we should fix on both sides. Even though, doesn't seem like we will have a 1.7 version, this will be useful as an example for when we go with Rack 2.0. We should ~> 2.0.
* | | Remove unused AV fixtures from AP testsclaudiob2015-01-111-65/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | When `render` was moved from ActionPack to ActionView in acc8e259, some fixtures required by the tests were duplicated, but they are actually only required by ActionView tests. To give one example, `double_render` is already defined [in the AV tests](https://github.com/rails/rails/blob/72139d8d310d896db78eaec98582c7a638135102/actionview/test/actionpack/controller/render_test.rb#L407) and is never used in the ActionPack tests.
* | | Merge pull request #18435 from kuldeepaggarwal/f-remove-unnecessary-requireRafael Mendonça França2015-01-111-1/+0
|\ \ \ | | | | | | | | No need of requiring `rbconfig`, it is by-default loaded
| * | | No need of requiring `rbconfig`, it is by-default loadedKuldeep Aggarwal2015-01-101-1/+0
| | | |
* | | | remove autoload HideActions, no longer existyuuji.yaginuma2015-01-111-1/+0
|/ / /
* | | formatting pass over CHANGELOGs. [ci skip]Yves Senn2015-01-101-1/+1
| | |
* | | Merge pull request #18423 from jone/remove-default-headerYves Senn2015-01-093-0/+35
|\ \ \ | | | | | | | | | | | | Default headers, removed in controller actions, will not be reapplied to the test response
| * | | Default headers, removed in controller actions, will not be reapplied to the ↵Jonas Baumann2015-01-093-0/+35
|/ / / | | | | | | | | | test response.
* | | Deprecate all *_filter callbacks in favor of *_action callbacksAbdelkader Boudih2015-01-083-9/+37
| | |
* | | Merge pull request #18404 from claudiob/rebase-14549Rafael Mendonça França2015-01-082-0/+44
|\ \ \ | | | | | | | | Add test case and documentation for skip_before_filter.
| * | | Add test/doc for :if/:except in skip_before_actionclaudiob2015-01-082-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new test/docs further explain the conflicts that can happen when mixing `:if`/`:unless` options with `:only`/`:except` options in `skip_before_action`. The gist is that "positive" filters always have priority over negative ones. The previous commit already showed that `:only` has priority over `:if`. This commit shows that `:if` has priority over `:except`. For instance, the following snippets are equivalent: ```ruby skip_before_action :some_callback, if: -> { condition }, except: action ``` ```ruby skip_before_action :some_callback, if: -> { condition } ```
| * | | Add test case and documentation for skip_before_filter.Lauro Caetano2015-01-082-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test case for using skip_before_filter with the options :only and :if both present. In this case, the :if option will be ignored and :only will be executed. Closes #14549 (the commit was cherry-picked from there).
* | | | Fix the example (for realz)David Heinemeier Hansson2015-01-081-1/+1
| | | |
* | | | Fix the exampleDavid Heinemeier Hansson2015-01-081-1/+1
| | | |
* | | | Add prepend option to protect_from_forgery.Josef Šimánek2015-01-083-1/+91
| | | |
* | | | Remove ActionController::HideActions (closes #18336)brainopia2015-01-065-93/+7
|/ / /
* | | Changing sets -> set Lindsey Bieda2015-01-061-1/+1
| | | | | | | | | Updating some minor grammar issue.
* | | Improve protect_from_forgery documentation. [ci skip].Josef Šimánek2015-01-061-3/+3
| | |
* | | Merge pull request #18341 from aditya-kapoor/remove-unneeded-checksRafael Mendonça França2015-01-051-2/+1
|\ \ \ | | | | | | | | remove unneeded check since /_one_time_conditions/ is not present anymore.
| * | | remove unneeded check since /_one_time_conditions/ is removedAditya Kapoor2015-01-051-2/+1
| | | |
* | | | Reset template assertions without warningsbrainopia2015-01-051-2/+4
|/ / /
* | | Document all options for protect_from_forgery.Josef Šimánek2015-01-041-8/+2
| | | | | | | | | | | | [ci skip]
* | | Remove unused requireCarlos Antonio da Silva2015-01-041-1/+0
| | | | | | | | | | | | | | | This was used by the respond_to/respond_with implementation on this file, which is now extracted to the responders gem.
* | | Remove respond_to/respond_with placeholder methodsCarlos Antonio da Silva2015-01-043-52/+5
| | | | | | | | | | | | This functionality has been extracted to the responders gem.
* | | Remove Struct#to_h backportRafael Mendonça França2015-01-041-1/+0
| | |
* | | Remove some comments about Ruby 1.9 behaviorsRafael Mendonça França2015-01-041-1/+1
| | |
* | | Remove unneeded requiresRafael Mendonça França2015-01-043-3/+0
| | | | | | | | | | | | These requires were added only to change deprecation message
* | | Remove deprecated assertion filesRafael Mendonça França2015-01-044-9/+4
| | |
* | | Remove deprecated usage of string keys in URL helpersRafael Mendonça França2015-01-043-37/+5
| | |
* | | Remove deprecated `only_path` option on `*_path` helpersRafael Mendonça França2015-01-043-72/+5
| | |
* | | Remove deprecate `*_path` helpers in email viewsRafael Mendonça França2015-01-042-39/+4
| | |
* | | Remove deprecated `NamedRouteCollection#helpers`Rafael Mendonça França2015-01-042-8/+4
| | |
* | | Remove deprecated support to define routes with `:to` option thatRafael Mendonça França2015-01-043-47/+10
| | | | | | | | | | | | doesn't contain `#`
* | | Remove deprecated `ActionDispatch::Response#to_ary`Rafael Mendonça França2015-01-043-31/+6
| | |
* | | Remove deprecated `ActionDispatch::Request#deep_munge`Rafael Mendonça França2015-01-042-9/+4
| | |
* | | Remove deprecated `ActionDispatch::Http::Parameters#symbolized_path_parameters`Rafael Mendonça França2015-01-042-8/+4
| | |
* | | Remove deprecated option `use_route` in controller testsRafael Mendonça França2015-01-044-63/+5
| | |