actionpack 5.2.3 → 5.2.4.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of actionpack might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +37 -4
- data/lib/action_controller/metal.rb +2 -2
- data/lib/action_controller/metal/params_wrapper.rb +2 -2
- data/lib/action_controller/test_case.rb +3 -2
- data/lib/action_dispatch/http/response.rb +4 -3
- data/lib/action_dispatch/journey/path/pattern.rb +2 -1
- data/lib/action_dispatch/middleware/stack.rb +2 -2
- data/lib/action_pack/gem_version.rb +2 -2
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3679931508ff00406357c690c6bc03d08966109a5af4ea64042e0186b0772f96
|
4
|
+
data.tar.gz: e8da8f7149e84a388350f037eda5cb7729b8edeb778195be79e7f1273d2cc0a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20695595eef6511baae42535270e30053369304a6629e521afea29f9758eae2b7e7f018e8b263055ba61a88c4a8e543ed1dab320449982c8ff1314b3ae27dcbd
|
7
|
+
data.tar.gz: 337e059cb93403ba173424a8516cc6c24b393a2cb602e6c8f71cd0db37d6aa7ec8b9a06cd2eb21874eff968adfd0db1dde5e6676783783a3399834ce610fcf98
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,15 @@
|
|
1
|
+
## Rails 5.2.4.rc1 (November 22, 2019) ##
|
2
|
+
|
3
|
+
* No changes.
|
4
|
+
|
5
|
+
|
1
6
|
## Rails 5.2.3 (March 27, 2019) ##
|
2
7
|
|
3
|
-
* Allow using
|
8
|
+
* Allow using `public` and `no-cache` together in the the Cache Control header.
|
4
9
|
|
5
|
-
Before this change, even if `public` was specified
|
6
|
-
it was excluded when `no-cache` was included. This
|
7
|
-
|
10
|
+
Before this change, even if `public` was specified in the Cache Control header,
|
11
|
+
it was excluded when `no-cache` was included. This change preserves the
|
12
|
+
`public` value as is.
|
8
13
|
|
9
14
|
Fixes #34780.
|
10
15
|
|
@@ -186,6 +191,34 @@
|
|
186
191
|
|
187
192
|
* Matches behavior of `Hash#each` in `ActionController::Parameters#each`.
|
188
193
|
|
194
|
+
Rails 5.0 introduced a bug when looping through controller params using `each`. Only the keys of params hash were passed to the block, e.g.
|
195
|
+
|
196
|
+
# Parameters: {"param"=>"1", "param_two"=>"2"}
|
197
|
+
def index
|
198
|
+
params.each do |name|
|
199
|
+
puts name
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
# Prints
|
204
|
+
# param
|
205
|
+
# param_two
|
206
|
+
|
207
|
+
In Rails 5.2 the bug has been fixed and name will be an array (which was the behavior for all versions prior to 5.0), instead of a string.
|
208
|
+
|
209
|
+
To fix the code above simply change as per example below:
|
210
|
+
|
211
|
+
# Parameters: {"param"=>"1", "param_two"=>"2"}
|
212
|
+
def index
|
213
|
+
params.each do |name, value|
|
214
|
+
puts name
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
# Prints
|
219
|
+
# param
|
220
|
+
# param_two
|
221
|
+
|
189
222
|
*Dominic Cleal*
|
190
223
|
|
191
224
|
* Add `Referrer-Policy` header to default headers set.
|
@@ -26,10 +26,10 @@ module ActionController
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
def build(action, app =
|
29
|
+
def build(action, app = nil, &block)
|
30
30
|
action = action.to_s
|
31
31
|
|
32
|
-
middlewares.reverse.inject(app) do |a, middleware|
|
32
|
+
middlewares.reverse.inject(app || block) do |a, middleware|
|
33
33
|
middleware.valid?(action) ? middleware.build(a) : a
|
34
34
|
end
|
35
35
|
end
|
@@ -93,7 +93,7 @@ module ActionController
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def model
|
96
|
-
super ||
|
96
|
+
super || self.model = _default_wrap_model
|
97
97
|
end
|
98
98
|
|
99
99
|
def include
|
@@ -115,7 +115,7 @@ module ActionController
|
|
115
115
|
|
116
116
|
if m.respond_to?(:nested_attributes_options) && m.nested_attributes_options.keys.any?
|
117
117
|
self.include += m.nested_attributes_options.keys.map do |key|
|
118
|
-
key.to_s.concat("_attributes")
|
118
|
+
key.to_s.dup.concat("_attributes")
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
@@ -460,6 +460,7 @@ module ActionController
|
|
460
460
|
def process(action, method: "GET", params: nil, session: nil, body: nil, flash: {}, format: nil, xhr: false, as: nil)
|
461
461
|
check_required_ivars
|
462
462
|
|
463
|
+
action = action.to_s.dup
|
463
464
|
http_method = method.to_s.upcase
|
464
465
|
|
465
466
|
@html_document = nil
|
@@ -491,11 +492,11 @@ module ActionController
|
|
491
492
|
parameters[:format] = format
|
492
493
|
end
|
493
494
|
|
494
|
-
generated_extras = @routes.generate_extras(parameters.merge(controller: controller_class_name, action: action
|
495
|
+
generated_extras = @routes.generate_extras(parameters.merge(controller: controller_class_name, action: action))
|
495
496
|
generated_path = generated_path(generated_extras)
|
496
497
|
query_string_keys = query_parameter_names(generated_extras)
|
497
498
|
|
498
|
-
@request.assign_parameters(@routes, controller_class_name, action
|
499
|
+
@request.assign_parameters(@routes, controller_class_name, action, parameters, generated_path, query_string_keys)
|
499
500
|
|
500
501
|
@request.session.update(session) if session
|
501
502
|
@request.flash.update(flash || {})
|
@@ -82,7 +82,6 @@ module ActionDispatch # :nodoc:
|
|
82
82
|
SET_COOKIE = "Set-Cookie".freeze
|
83
83
|
LOCATION = "Location".freeze
|
84
84
|
NO_CONTENT_CODES = [100, 101, 102, 204, 205, 304]
|
85
|
-
CONTENT_TYPE_PARSER = /\A(?<type>[^;\s]+)?(?:.*;\s*charset=(?<quote>"?)(?<charset>[^;\s]+)\k<quote>)?/ # :nodoc:
|
86
85
|
|
87
86
|
cattr_accessor :default_charset, default: "utf-8"
|
88
87
|
cattr_accessor :default_headers
|
@@ -410,8 +409,10 @@ module ActionDispatch # :nodoc:
|
|
410
409
|
NullContentTypeHeader = ContentTypeHeader.new nil, nil
|
411
410
|
|
412
411
|
def parse_content_type(content_type)
|
413
|
-
if content_type
|
414
|
-
|
412
|
+
if content_type
|
413
|
+
type, charset = content_type.split(/;\s*charset=/)
|
414
|
+
type = nil if type && type.empty?
|
415
|
+
ContentTypeHeader.new(type, charset)
|
415
416
|
else
|
416
417
|
NullContentTypeHeader
|
417
418
|
end
|
@@ -97,8 +97,8 @@ module ActionDispatch
|
|
97
97
|
middlewares.push(build_middleware(klass, args, block))
|
98
98
|
end
|
99
99
|
|
100
|
-
def build(app =
|
101
|
-
middlewares.freeze.reverse.inject(app) { |a, e| e.build(a) }
|
100
|
+
def build(app = nil, &block)
|
101
|
+
middlewares.freeze.reverse.inject(app || block) { |a, e| e.build(a) }
|
102
102
|
end
|
103
103
|
|
104
104
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: actionpack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.2.
|
4
|
+
version: 5.2.4.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 5.2.
|
19
|
+
version: 5.2.4.rc1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 5.2.
|
26
|
+
version: 5.2.4.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,28 +92,28 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - '='
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 5.2.
|
95
|
+
version: 5.2.4.rc1
|
96
96
|
type: :runtime
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - '='
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 5.2.
|
102
|
+
version: 5.2.4.rc1
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: activemodel
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - '='
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 5.2.
|
109
|
+
version: 5.2.4.rc1
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - '='
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: 5.2.
|
116
|
+
version: 5.2.4.rc1
|
117
117
|
description: Web apps on Rails. Simple, battle-tested conventions for building and
|
118
118
|
testing MVC web applications. Works with any Rack-compatible server.
|
119
119
|
email: david@loudthinking.com
|
@@ -293,8 +293,8 @@ homepage: http://rubyonrails.org
|
|
293
293
|
licenses:
|
294
294
|
- MIT
|
295
295
|
metadata:
|
296
|
-
source_code_uri: https://github.com/rails/rails/tree/v5.2.
|
297
|
-
changelog_uri: https://github.com/rails/rails/blob/v5.2.
|
296
|
+
source_code_uri: https://github.com/rails/rails/tree/v5.2.4.rc1/actionpack
|
297
|
+
changelog_uri: https://github.com/rails/rails/blob/v5.2.4.rc1/actionpack/CHANGELOG.md
|
298
298
|
post_install_message:
|
299
299
|
rdoc_options: []
|
300
300
|
require_paths:
|
@@ -306,12 +306,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
306
306
|
version: 2.2.2
|
307
307
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
308
308
|
requirements:
|
309
|
-
- - "
|
309
|
+
- - ">"
|
310
310
|
- !ruby/object:Gem::Version
|
311
|
-
version:
|
311
|
+
version: 1.3.1
|
312
312
|
requirements:
|
313
313
|
- none
|
314
|
-
rubygems_version: 3.0.
|
314
|
+
rubygems_version: 3.0.3
|
315
315
|
signing_key:
|
316
316
|
specification_version: 4
|
317
317
|
summary: Web-flow and rendering framework putting the VC in MVC (part of Rails).
|