aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #18666 from cheunghy/auth_check_nilGuillermo Iguaran2015-01-281-2/+2
|\ | | | | Fixed undefined method error when doing http basic authentication.
| * Fixed undefined method error when doing authentication.Zhang Kai Yu2015-01-241-2/+2
| |
* | 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-225-4/+129
|\ | | | | A shortcut to setup controller environment
| * Add ActionController::Base.renderbrainopia2015-01-221-0/+3
| |
| * Add ActionController::Rendererbrainopia2015-01-223-0/+112
| | | | | | | | 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
| * Add `ActionController::Metal#set_request!`brainopia2015-01-212-4/+8
| | | | | | | | | | 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-191-2/+3
|\ \ | |/ |/| Fix name_for_action in routing
| * Fix name_for_action in routingrono232015-01-191-2/+3
| |
* | 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
* | remove autoload HideActions, no longer existyuuji.yaginuma2015-01-111-1/+0
| |
* | Default headers, removed in controller actions, will not be reapplied to the ↵Jonas Baumann2015-01-091-0/+7
| | | | | | | | test response.
* | Deprecate all *_filter callbacks in favor of *_action callbacksAbdelkader Boudih2015-01-081-5/+27
| |
* | Merge pull request #18404 from claudiob/rebase-14549Rafael Mendonça França2015-01-081-0/+10
|\ \ | | | | | | Add test case and documentation for skip_before_filter.
| * | Add test/doc for :if/:except in skip_before_actionclaudiob2015-01-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | Add prepend option to protect_from_forgery.Josef Šimánek2015-01-081-1/+8
| | |
* | | Remove ActionController::HideActions (closes #18336)brainopia2015-01-063-55/+2
|/ /
* | 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-041-20/+0
| | | | | | | | 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-043-9/+0
| |
* | Remove deprecated usage of string keys in URL helpersRafael Mendonça França2015-01-041-17/+1
| |
* | Remove deprecated `only_path` option on `*_path` helpersRafael Mendonça França2015-01-041-28/+1
| |
* | Remove deprecate `*_path` helpers in email viewsRafael Mendonça França2015-01-041-25/+4
| |
* | Remove deprecated `NamedRouteCollection#helpers`Rafael Mendonça França2015-01-041-8/+0
| |
* | Remove deprecated support to define routes with `:to` option thatRafael Mendonça França2015-01-041-17/+2
| | | | | | | | doesn't contain `#`
* | Remove deprecated `ActionDispatch::Response#to_ary`Rafael Mendonça França2015-01-041-15/+0
| |
* | Remove deprecated `ActionDispatch::Request#deep_munge`Rafael Mendonça França2015-01-041-9/+0
| |
* | Remove deprecated `ActionDispatch::Http::Parameters#symbolized_path_parameters`Rafael Mendonça França2015-01-041-8/+0
| |
* | Remove deprecated option `use_route` in controller testsRafael Mendonça França2015-01-042-38/+1
| |
* | Merge pull request #17227 from claudiob/explicitly-abort-callbacksRafael Mendonça França2015-01-031-1/+1
|\ \ | | | | | | | | | | | | | | | | | | Introduce explicit way of halting callback chains by throwing :abort. Deprecate current implicit behavior of halting callback chains by returning `false` in apps ported to Rails 5.0. Completely remove that behavior in brand new Rails 5.0 apps. Conflicts: railties/CHANGELOG.md
| * | Throw :abort halts default CallbackChainsclaudiob2015-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes arguments and default value of CallbackChain's :terminator option. After this commit, Chains of callbacks defined **without** an explicit `:terminator` option will be halted as soon as a `before_` callback throws `:abort`. Chains of callbacks defined **with** a `:terminator` option will maintain their existing behavior of halting as soon as a `before_` callback matches the terminator's expectation. For instance, ActiveModel's callbacks will still halt the chain when a `before_` callback returns `false`.
* | | Fix a few typos [ci skip]Robin Dupret2015-01-032-3/+3
| |/ |/|
* | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-01-033-18/+24
|\ \ | |/ |/|
| * Better docs for AbstractControllerclaudiob2014-12-223-18/+24
| | | | | | | | | | | | Fixes internal links, adds examples and set fixed-width fonts. [ci skip]
* | Merge pull request #8740 from amatsuda/missing_source_fileRafael Mendonça França2015-01-021-1/+1
|\ \ | | | | | | | | | | | | | | | | | | replace use of MissingSourceFile with LoadError Conflicts: activesupport/test/core_ext/load_error_test.rb
| * | replace use of MissingSourceFile with LoadErrorAkira Matsuda2013-01-041-1/+1
| | |