aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorKir Shatrov <shatrov@me.com>2016-09-22 11:36:23 -0400
committerKir Shatrov <shatrov@me.com>2016-09-22 11:36:23 -0400
commit7e350c67057affccde176eeeffcffbe10806feda (patch)
tree40728e9380876d85dce75797b8b2d648af4fb095 /activesupport
parentcf5f55cd30aef0f90300c7c8f333060fe258cd8a (diff)
downloadrails-7e350c67057affccde176eeeffcffbe10806feda.tar.gz
rails-7e350c67057affccde176eeeffcffbe10806feda.tar.bz2
rails-7e350c67057affccde176eeeffcffbe10806feda.zip
Fix memoization bug on ActionDispatch::TestRequest#request_method=
TestRequest have been overrriding request_method setter since 2009, but the actual implementation in Request (not TestRequest) has been changed since that. Now it's also using @request_method instance variable to keep the state. The override in TestRequest have not been calling `super`, which caused a bug that after accessing #requst_method the value was memoized and then we've never been able to change it anymore: ``` req = ActionDispatch::TestRequest.create puts "was: #{req.request_method}" # memoized here req.request_method = "POST" puts "became: #{req.request_method}" ``` output: ``` was: GET became: GET ``` Since the whole purpose of overriding the setter in TestRequest is to upcase it, I'm changing it to `super(method.to_s.upcase)`
Diffstat (limited to 'activesupport')
0 files changed, 0 insertions, 0 deletions