actionpack 5.2.3

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.

Files changed (170) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +429 -0
  3. data/MIT-LICENSE +21 -0
  4. data/README.rdoc +57 -0
  5. data/lib/abstract_controller.rb +27 -0
  6. data/lib/abstract_controller/asset_paths.rb +12 -0
  7. data/lib/abstract_controller/base.rb +265 -0
  8. data/lib/abstract_controller/caching.rb +66 -0
  9. data/lib/abstract_controller/caching/fragments.rb +166 -0
  10. data/lib/abstract_controller/callbacks.rb +212 -0
  11. data/lib/abstract_controller/collector.rb +43 -0
  12. data/lib/abstract_controller/error.rb +6 -0
  13. data/lib/abstract_controller/helpers.rb +194 -0
  14. data/lib/abstract_controller/logger.rb +14 -0
  15. data/lib/abstract_controller/railties/routes_helpers.rb +20 -0
  16. data/lib/abstract_controller/rendering.rb +127 -0
  17. data/lib/abstract_controller/translation.rb +31 -0
  18. data/lib/abstract_controller/url_for.rb +35 -0
  19. data/lib/action_controller.rb +66 -0
  20. data/lib/action_controller/api.rb +149 -0
  21. data/lib/action_controller/api/api_rendering.rb +16 -0
  22. data/lib/action_controller/base.rb +276 -0
  23. data/lib/action_controller/caching.rb +46 -0
  24. data/lib/action_controller/form_builder.rb +50 -0
  25. data/lib/action_controller/log_subscriber.rb +78 -0
  26. data/lib/action_controller/metal.rb +256 -0
  27. data/lib/action_controller/metal/basic_implicit_render.rb +13 -0
  28. data/lib/action_controller/metal/conditional_get.rb +274 -0
  29. data/lib/action_controller/metal/content_security_policy.rb +52 -0
  30. data/lib/action_controller/metal/cookies.rb +16 -0
  31. data/lib/action_controller/metal/data_streaming.rb +152 -0
  32. data/lib/action_controller/metal/etag_with_flash.rb +18 -0
  33. data/lib/action_controller/metal/etag_with_template_digest.rb +57 -0
  34. data/lib/action_controller/metal/exceptions.rb +53 -0
  35. data/lib/action_controller/metal/flash.rb +61 -0
  36. data/lib/action_controller/metal/force_ssl.rb +99 -0
  37. data/lib/action_controller/metal/head.rb +60 -0
  38. data/lib/action_controller/metal/helpers.rb +123 -0
  39. data/lib/action_controller/metal/http_authentication.rb +519 -0
  40. data/lib/action_controller/metal/implicit_render.rb +73 -0
  41. data/lib/action_controller/metal/instrumentation.rb +107 -0
  42. data/lib/action_controller/metal/live.rb +312 -0
  43. data/lib/action_controller/metal/mime_responds.rb +313 -0
  44. data/lib/action_controller/metal/parameter_encoding.rb +51 -0
  45. data/lib/action_controller/metal/params_wrapper.rb +293 -0
  46. data/lib/action_controller/metal/redirecting.rb +133 -0
  47. data/lib/action_controller/metal/renderers.rb +181 -0
  48. data/lib/action_controller/metal/rendering.rb +122 -0
  49. data/lib/action_controller/metal/request_forgery_protection.rb +445 -0
  50. data/lib/action_controller/metal/rescue.rb +28 -0
  51. data/lib/action_controller/metal/streaming.rb +223 -0
  52. data/lib/action_controller/metal/strong_parameters.rb +1086 -0
  53. data/lib/action_controller/metal/testing.rb +16 -0
  54. data/lib/action_controller/metal/url_for.rb +58 -0
  55. data/lib/action_controller/railtie.rb +89 -0
  56. data/lib/action_controller/railties/helpers.rb +24 -0
  57. data/lib/action_controller/renderer.rb +117 -0
  58. data/lib/action_controller/template_assertions.rb +11 -0
  59. data/lib/action_controller/test_case.rb +629 -0
  60. data/lib/action_dispatch.rb +112 -0
  61. data/lib/action_dispatch/http/cache.rb +222 -0
  62. data/lib/action_dispatch/http/content_security_policy.rb +272 -0
  63. data/lib/action_dispatch/http/filter_parameters.rb +84 -0
  64. data/lib/action_dispatch/http/filter_redirect.rb +37 -0
  65. data/lib/action_dispatch/http/headers.rb +132 -0
  66. data/lib/action_dispatch/http/mime_negotiation.rb +175 -0
  67. data/lib/action_dispatch/http/mime_type.rb +342 -0
  68. data/lib/action_dispatch/http/mime_types.rb +50 -0
  69. data/lib/action_dispatch/http/parameter_filter.rb +86 -0
  70. data/lib/action_dispatch/http/parameters.rb +126 -0
  71. data/lib/action_dispatch/http/rack_cache.rb +63 -0
  72. data/lib/action_dispatch/http/request.rb +430 -0
  73. data/lib/action_dispatch/http/response.rb +519 -0
  74. data/lib/action_dispatch/http/upload.rb +84 -0
  75. data/lib/action_dispatch/http/url.rb +350 -0
  76. data/lib/action_dispatch/journey.rb +7 -0
  77. data/lib/action_dispatch/journey/formatter.rb +189 -0
  78. data/lib/action_dispatch/journey/gtg/builder.rb +164 -0
  79. data/lib/action_dispatch/journey/gtg/simulator.rb +41 -0
  80. data/lib/action_dispatch/journey/gtg/transition_table.rb +158 -0
  81. data/lib/action_dispatch/journey/nfa/builder.rb +78 -0
  82. data/lib/action_dispatch/journey/nfa/dot.rb +36 -0
  83. data/lib/action_dispatch/journey/nfa/simulator.rb +49 -0
  84. data/lib/action_dispatch/journey/nfa/transition_table.rb +120 -0
  85. data/lib/action_dispatch/journey/nodes/node.rb +140 -0
  86. data/lib/action_dispatch/journey/parser.rb +199 -0
  87. data/lib/action_dispatch/journey/parser.y +50 -0
  88. data/lib/action_dispatch/journey/parser_extras.rb +31 -0
  89. data/lib/action_dispatch/journey/path/pattern.rb +198 -0
  90. data/lib/action_dispatch/journey/route.rb +203 -0
  91. data/lib/action_dispatch/journey/router.rb +156 -0
  92. data/lib/action_dispatch/journey/router/utils.rb +102 -0
  93. data/lib/action_dispatch/journey/routes.rb +82 -0
  94. data/lib/action_dispatch/journey/scanner.rb +64 -0
  95. data/lib/action_dispatch/journey/visitors.rb +268 -0
  96. data/lib/action_dispatch/journey/visualizer/fsm.css +30 -0
  97. data/lib/action_dispatch/journey/visualizer/fsm.js +134 -0
  98. data/lib/action_dispatch/journey/visualizer/index.html.erb +52 -0
  99. data/lib/action_dispatch/middleware/callbacks.rb +36 -0
  100. data/lib/action_dispatch/middleware/cookies.rb +685 -0
  101. data/lib/action_dispatch/middleware/debug_exceptions.rb +205 -0
  102. data/lib/action_dispatch/middleware/debug_locks.rb +124 -0
  103. data/lib/action_dispatch/middleware/exception_wrapper.rb +147 -0
  104. data/lib/action_dispatch/middleware/executor.rb +21 -0
  105. data/lib/action_dispatch/middleware/flash.rb +300 -0
  106. data/lib/action_dispatch/middleware/public_exceptions.rb +57 -0
  107. data/lib/action_dispatch/middleware/reloader.rb +12 -0
  108. data/lib/action_dispatch/middleware/remote_ip.rb +183 -0
  109. data/lib/action_dispatch/middleware/request_id.rb +43 -0
  110. data/lib/action_dispatch/middleware/session/abstract_store.rb +92 -0
  111. data/lib/action_dispatch/middleware/session/cache_store.rb +54 -0
  112. data/lib/action_dispatch/middleware/session/cookie_store.rb +118 -0
  113. data/lib/action_dispatch/middleware/session/mem_cache_store.rb +28 -0
  114. data/lib/action_dispatch/middleware/show_exceptions.rb +62 -0
  115. data/lib/action_dispatch/middleware/ssl.rb +150 -0
  116. data/lib/action_dispatch/middleware/stack.rb +116 -0
  117. data/lib/action_dispatch/middleware/static.rb +130 -0
  118. data/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb +22 -0
  119. data/lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb +23 -0
  120. data/lib/action_dispatch/middleware/templates/rescues/_source.html.erb +27 -0
  121. data/lib/action_dispatch/middleware/templates/rescues/_source.text.erb +8 -0
  122. data/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb +52 -0
  123. data/lib/action_dispatch/middleware/templates/rescues/_trace.text.erb +9 -0
  124. data/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb +16 -0
  125. data/lib/action_dispatch/middleware/templates/rescues/diagnostics.text.erb +9 -0
  126. data/lib/action_dispatch/middleware/templates/rescues/invalid_statement.html.erb +21 -0
  127. data/lib/action_dispatch/middleware/templates/rescues/invalid_statement.text.erb +13 -0
  128. data/lib/action_dispatch/middleware/templates/rescues/layout.erb +161 -0
  129. data/lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb +11 -0
  130. data/lib/action_dispatch/middleware/templates/rescues/missing_template.text.erb +3 -0
  131. data/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb +32 -0
  132. data/lib/action_dispatch/middleware/templates/rescues/routing_error.text.erb +11 -0
  133. data/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb +20 -0
  134. data/lib/action_dispatch/middleware/templates/rescues/template_error.text.erb +7 -0
  135. data/lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb +6 -0
  136. data/lib/action_dispatch/middleware/templates/rescues/unknown_action.text.erb +3 -0
  137. data/lib/action_dispatch/middleware/templates/routes/_route.html.erb +16 -0
  138. data/lib/action_dispatch/middleware/templates/routes/_table.html.erb +200 -0
  139. data/lib/action_dispatch/railtie.rb +55 -0
  140. data/lib/action_dispatch/request/session.rb +234 -0
  141. data/lib/action_dispatch/request/utils.rb +78 -0
  142. data/lib/action_dispatch/routing.rb +260 -0
  143. data/lib/action_dispatch/routing/endpoint.rb +17 -0
  144. data/lib/action_dispatch/routing/inspector.rb +225 -0
  145. data/lib/action_dispatch/routing/mapper.rb +2267 -0
  146. data/lib/action_dispatch/routing/polymorphic_routes.rb +352 -0
  147. data/lib/action_dispatch/routing/redirection.rb +201 -0
  148. data/lib/action_dispatch/routing/route_set.rb +890 -0
  149. data/lib/action_dispatch/routing/routes_proxy.rb +69 -0
  150. data/lib/action_dispatch/routing/url_for.rb +236 -0
  151. data/lib/action_dispatch/system_test_case.rb +147 -0
  152. data/lib/action_dispatch/system_testing/browser.rb +49 -0
  153. data/lib/action_dispatch/system_testing/driver.rb +59 -0
  154. data/lib/action_dispatch/system_testing/server.rb +31 -0
  155. data/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb +96 -0
  156. data/lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb +31 -0
  157. data/lib/action_dispatch/system_testing/test_helpers/undef_methods.rb +26 -0
  158. data/lib/action_dispatch/testing/assertion_response.rb +47 -0
  159. data/lib/action_dispatch/testing/assertions.rb +24 -0
  160. data/lib/action_dispatch/testing/assertions/response.rb +107 -0
  161. data/lib/action_dispatch/testing/assertions/routing.rb +222 -0
  162. data/lib/action_dispatch/testing/integration.rb +652 -0
  163. data/lib/action_dispatch/testing/request_encoder.rb +55 -0
  164. data/lib/action_dispatch/testing/test_process.rb +50 -0
  165. data/lib/action_dispatch/testing/test_request.rb +71 -0
  166. data/lib/action_dispatch/testing/test_response.rb +53 -0
  167. data/lib/action_pack.rb +26 -0
  168. data/lib/action_pack/gem_version.rb +17 -0
  169. data/lib/action_pack/version.rb +10 -0
  170. metadata +318 -0
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActionDispatch
4
+ class RequestEncoder # :nodoc:
5
+ class IdentityEncoder
6
+ def content_type; end
7
+ def accept_header; end
8
+ def encode_params(params); params; end
9
+ def response_parser; -> body { body }; end
10
+ end
11
+
12
+ @encoders = { identity: IdentityEncoder.new }
13
+
14
+ attr_reader :response_parser
15
+
16
+ def initialize(mime_name, param_encoder, response_parser)
17
+ @mime = Mime[mime_name]
18
+
19
+ unless @mime
20
+ raise ArgumentError, "Can't register a request encoder for " \
21
+ "unregistered MIME Type: #{mime_name}. See `Mime::Type.register`."
22
+ end
23
+
24
+ @response_parser = response_parser || -> body { body }
25
+ @param_encoder = param_encoder || :"to_#{@mime.symbol}".to_proc
26
+ end
27
+
28
+ def content_type
29
+ @mime.to_s
30
+ end
31
+
32
+ def accept_header
33
+ @mime.to_s
34
+ end
35
+
36
+ def encode_params(params)
37
+ @param_encoder.call(params) if params
38
+ end
39
+
40
+ def self.parser(content_type)
41
+ mime = Mime::Type.lookup(content_type)
42
+ encoder(mime ? mime.ref : nil).response_parser
43
+ end
44
+
45
+ def self.encoder(name)
46
+ @encoders[name] || @encoders[:identity]
47
+ end
48
+
49
+ def self.register_encoder(mime_name, param_encoder: nil, response_parser: nil)
50
+ @encoders[mime_name] = new(mime_name, param_encoder, response_parser)
51
+ end
52
+
53
+ register_encoder :json, response_parser: -> body { JSON.parse(body) }
54
+ end
55
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "action_dispatch/middleware/cookies"
4
+ require "action_dispatch/middleware/flash"
5
+
6
+ module ActionDispatch
7
+ module TestProcess
8
+ module FixtureFile
9
+ # Shortcut for <tt>Rack::Test::UploadedFile.new(File.join(ActionDispatch::IntegrationTest.fixture_path, path), type)</tt>:
10
+ #
11
+ # post :change_avatar, avatar: fixture_file_upload('files/spongebob.png', 'image/png')
12
+ #
13
+ # To upload binary files on Windows, pass <tt>:binary</tt> as the last parameter.
14
+ # This will not affect other platforms:
15
+ #
16
+ # post :change_avatar, avatar: fixture_file_upload('files/spongebob.png', 'image/png', :binary)
17
+ def fixture_file_upload(path, mime_type = nil, binary = false)
18
+ if self.class.respond_to?(:fixture_path) && self.class.fixture_path &&
19
+ !File.exist?(path)
20
+ path = File.join(self.class.fixture_path, path)
21
+ end
22
+ Rack::Test::UploadedFile.new(path, mime_type, binary)
23
+ end
24
+ end
25
+
26
+ include FixtureFile
27
+
28
+ def assigns(key = nil)
29
+ raise NoMethodError,
30
+ "assigns has been extracted to a gem. To continue using it,
31
+ add `gem 'rails-controller-testing'` to your Gemfile."
32
+ end
33
+
34
+ def session
35
+ @request.session
36
+ end
37
+
38
+ def flash
39
+ @request.flash
40
+ end
41
+
42
+ def cookies
43
+ @cookie_jar ||= Cookies::CookieJar.build(@request, @request.cookies)
44
+ end
45
+
46
+ def redirect_to_url
47
+ @response.redirect_url
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/core_ext/hash/indifferent_access"
4
+ require "rack/utils"
5
+
6
+ module ActionDispatch
7
+ class TestRequest < Request
8
+ DEFAULT_ENV = Rack::MockRequest.env_for("/",
9
+ "HTTP_HOST" => "test.host",
10
+ "REMOTE_ADDR" => "0.0.0.0",
11
+ "HTTP_USER_AGENT" => "Rails Testing",
12
+ )
13
+
14
+ # Create a new test request with default +env+ values.
15
+ def self.create(env = {})
16
+ env = Rails.application.env_config.merge(env) if defined?(Rails.application) && Rails.application
17
+ env["rack.request.cookie_hash"] ||= {}.with_indifferent_access
18
+ new(default_env.merge(env))
19
+ end
20
+
21
+ def self.default_env
22
+ DEFAULT_ENV
23
+ end
24
+ private_class_method :default_env
25
+
26
+ def request_method=(method)
27
+ super(method.to_s.upcase)
28
+ end
29
+
30
+ def host=(host)
31
+ set_header("HTTP_HOST", host)
32
+ end
33
+
34
+ def port=(number)
35
+ set_header("SERVER_PORT", number.to_i)
36
+ end
37
+
38
+ def request_uri=(uri)
39
+ set_header("REQUEST_URI", uri)
40
+ end
41
+
42
+ def path=(path)
43
+ set_header("PATH_INFO", path)
44
+ end
45
+
46
+ def action=(action_name)
47
+ path_parameters[:action] = action_name.to_s
48
+ end
49
+
50
+ def if_modified_since=(last_modified)
51
+ set_header("HTTP_IF_MODIFIED_SINCE", last_modified)
52
+ end
53
+
54
+ def if_none_match=(etag)
55
+ set_header("HTTP_IF_NONE_MATCH", etag)
56
+ end
57
+
58
+ def remote_addr=(addr)
59
+ set_header("REMOTE_ADDR", addr)
60
+ end
61
+
62
+ def user_agent=(user_agent)
63
+ set_header("HTTP_USER_AGENT", user_agent)
64
+ end
65
+
66
+ def accept=(mime_types)
67
+ delete_header("action_dispatch.request.accepts")
68
+ set_header("HTTP_ACCEPT", Array(mime_types).collect(&:to_s).join(","))
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "action_dispatch/testing/request_encoder"
4
+
5
+ module ActionDispatch
6
+ # Integration test methods such as ActionDispatch::Integration::Session#get
7
+ # and ActionDispatch::Integration::Session#post return objects of class
8
+ # TestResponse, which represent the HTTP response results of the requested
9
+ # controller actions.
10
+ #
11
+ # See Response for more information on controller response objects.
12
+ class TestResponse < Response
13
+ def self.from_response(response)
14
+ new response.status, response.headers, response.body
15
+ end
16
+
17
+ def initialize(*) # :nodoc:
18
+ super
19
+ @response_parser = RequestEncoder.parser(content_type)
20
+ end
21
+
22
+ # Was the response successful?
23
+ def success?
24
+ ActiveSupport::Deprecation.warn(<<-MSG.squish)
25
+ The success? predicate is deprecated and will be removed in Rails 6.0.
26
+ Please use successful? as provided by Rack::Response::Helpers.
27
+ MSG
28
+ successful?
29
+ end
30
+
31
+ # Was the URL not found?
32
+ def missing?
33
+ ActiveSupport::Deprecation.warn(<<-MSG.squish)
34
+ The missing? predicate is deprecated and will be removed in Rails 6.0.
35
+ Please use not_found? as provided by Rack::Response::Helpers.
36
+ MSG
37
+ not_found?
38
+ end
39
+
40
+ # Was there a server-side error?
41
+ def error?
42
+ ActiveSupport::Deprecation.warn(<<-MSG.squish)
43
+ The error? predicate is deprecated and will be removed in Rails 6.0.
44
+ Please use server_error? as provided by Rack::Response::Helpers.
45
+ MSG
46
+ server_error?
47
+ end
48
+
49
+ def parsed_body
50
+ @parsed_body ||= @response_parser.call(body)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ #--
4
+ # Copyright (c) 2004-2018 David Heinemeier Hansson
5
+ #
6
+ # Permission is hereby granted, free of charge, to any person obtaining
7
+ # a copy of this software and associated documentation files (the
8
+ # "Software"), to deal in the Software without restriction, including
9
+ # without limitation the rights to use, copy, modify, merge, publish,
10
+ # distribute, sublicense, and/or sell copies of the Software, and to
11
+ # permit persons to whom the Software is furnished to do so, subject to
12
+ # the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be
15
+ # included in all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
+ #++
25
+
26
+ require "action_pack/version"
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ActionPack
4
+ # Returns the version of the currently loaded Action Pack as a <tt>Gem::Version</tt>
5
+ def self.gem_version
6
+ Gem::Version.new VERSION::STRING
7
+ end
8
+
9
+ module VERSION
10
+ MAJOR = 5
11
+ MINOR = 2
12
+ TINY = 3
13
+ PRE = nil
14
+
15
+ STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
+ end
17
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "gem_version"
4
+
5
+ module ActionPack
6
+ # Returns the version of the currently loaded ActionPack as a <tt>Gem::Version</tt>
7
+ def self.version
8
+ gem_version
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,318 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: actionpack
3
+ version: !ruby/object:Gem::Version
4
+ version: 5.2.3
5
+ platform: ruby
6
+ authors:
7
+ - David Heinemeier Hansson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-03-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 5.2.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 5.2.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: rack
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rack-test
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.6.3
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.6.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: rails-html-sanitizer
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.0.2
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.0'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.0.2
75
+ - !ruby/object:Gem::Dependency
76
+ name: rails-dom-testing
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: actionview
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - '='
94
+ - !ruby/object:Gem::Version
95
+ version: 5.2.3
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - '='
101
+ - !ruby/object:Gem::Version
102
+ version: 5.2.3
103
+ - !ruby/object:Gem::Dependency
104
+ name: activemodel
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 5.2.3
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - '='
115
+ - !ruby/object:Gem::Version
116
+ version: 5.2.3
117
+ description: Web apps on Rails. Simple, battle-tested conventions for building and
118
+ testing MVC web applications. Works with any Rack-compatible server.
119
+ email: david@loudthinking.com
120
+ executables: []
121
+ extensions: []
122
+ extra_rdoc_files: []
123
+ files:
124
+ - CHANGELOG.md
125
+ - MIT-LICENSE
126
+ - README.rdoc
127
+ - lib/abstract_controller.rb
128
+ - lib/abstract_controller/asset_paths.rb
129
+ - lib/abstract_controller/base.rb
130
+ - lib/abstract_controller/caching.rb
131
+ - lib/abstract_controller/caching/fragments.rb
132
+ - lib/abstract_controller/callbacks.rb
133
+ - lib/abstract_controller/collector.rb
134
+ - lib/abstract_controller/error.rb
135
+ - lib/abstract_controller/helpers.rb
136
+ - lib/abstract_controller/logger.rb
137
+ - lib/abstract_controller/railties/routes_helpers.rb
138
+ - lib/abstract_controller/rendering.rb
139
+ - lib/abstract_controller/translation.rb
140
+ - lib/abstract_controller/url_for.rb
141
+ - lib/action_controller.rb
142
+ - lib/action_controller/api.rb
143
+ - lib/action_controller/api/api_rendering.rb
144
+ - lib/action_controller/base.rb
145
+ - lib/action_controller/caching.rb
146
+ - lib/action_controller/form_builder.rb
147
+ - lib/action_controller/log_subscriber.rb
148
+ - lib/action_controller/metal.rb
149
+ - lib/action_controller/metal/basic_implicit_render.rb
150
+ - lib/action_controller/metal/conditional_get.rb
151
+ - lib/action_controller/metal/content_security_policy.rb
152
+ - lib/action_controller/metal/cookies.rb
153
+ - lib/action_controller/metal/data_streaming.rb
154
+ - lib/action_controller/metal/etag_with_flash.rb
155
+ - lib/action_controller/metal/etag_with_template_digest.rb
156
+ - lib/action_controller/metal/exceptions.rb
157
+ - lib/action_controller/metal/flash.rb
158
+ - lib/action_controller/metal/force_ssl.rb
159
+ - lib/action_controller/metal/head.rb
160
+ - lib/action_controller/metal/helpers.rb
161
+ - lib/action_controller/metal/http_authentication.rb
162
+ - lib/action_controller/metal/implicit_render.rb
163
+ - lib/action_controller/metal/instrumentation.rb
164
+ - lib/action_controller/metal/live.rb
165
+ - lib/action_controller/metal/mime_responds.rb
166
+ - lib/action_controller/metal/parameter_encoding.rb
167
+ - lib/action_controller/metal/params_wrapper.rb
168
+ - lib/action_controller/metal/redirecting.rb
169
+ - lib/action_controller/metal/renderers.rb
170
+ - lib/action_controller/metal/rendering.rb
171
+ - lib/action_controller/metal/request_forgery_protection.rb
172
+ - lib/action_controller/metal/rescue.rb
173
+ - lib/action_controller/metal/streaming.rb
174
+ - lib/action_controller/metal/strong_parameters.rb
175
+ - lib/action_controller/metal/testing.rb
176
+ - lib/action_controller/metal/url_for.rb
177
+ - lib/action_controller/railtie.rb
178
+ - lib/action_controller/railties/helpers.rb
179
+ - lib/action_controller/renderer.rb
180
+ - lib/action_controller/template_assertions.rb
181
+ - lib/action_controller/test_case.rb
182
+ - lib/action_dispatch.rb
183
+ - lib/action_dispatch/http/cache.rb
184
+ - lib/action_dispatch/http/content_security_policy.rb
185
+ - lib/action_dispatch/http/filter_parameters.rb
186
+ - lib/action_dispatch/http/filter_redirect.rb
187
+ - lib/action_dispatch/http/headers.rb
188
+ - lib/action_dispatch/http/mime_negotiation.rb
189
+ - lib/action_dispatch/http/mime_type.rb
190
+ - lib/action_dispatch/http/mime_types.rb
191
+ - lib/action_dispatch/http/parameter_filter.rb
192
+ - lib/action_dispatch/http/parameters.rb
193
+ - lib/action_dispatch/http/rack_cache.rb
194
+ - lib/action_dispatch/http/request.rb
195
+ - lib/action_dispatch/http/response.rb
196
+ - lib/action_dispatch/http/upload.rb
197
+ - lib/action_dispatch/http/url.rb
198
+ - lib/action_dispatch/journey.rb
199
+ - lib/action_dispatch/journey/formatter.rb
200
+ - lib/action_dispatch/journey/gtg/builder.rb
201
+ - lib/action_dispatch/journey/gtg/simulator.rb
202
+ - lib/action_dispatch/journey/gtg/transition_table.rb
203
+ - lib/action_dispatch/journey/nfa/builder.rb
204
+ - lib/action_dispatch/journey/nfa/dot.rb
205
+ - lib/action_dispatch/journey/nfa/simulator.rb
206
+ - lib/action_dispatch/journey/nfa/transition_table.rb
207
+ - lib/action_dispatch/journey/nodes/node.rb
208
+ - lib/action_dispatch/journey/parser.rb
209
+ - lib/action_dispatch/journey/parser.y
210
+ - lib/action_dispatch/journey/parser_extras.rb
211
+ - lib/action_dispatch/journey/path/pattern.rb
212
+ - lib/action_dispatch/journey/route.rb
213
+ - lib/action_dispatch/journey/router.rb
214
+ - lib/action_dispatch/journey/router/utils.rb
215
+ - lib/action_dispatch/journey/routes.rb
216
+ - lib/action_dispatch/journey/scanner.rb
217
+ - lib/action_dispatch/journey/visitors.rb
218
+ - lib/action_dispatch/journey/visualizer/fsm.css
219
+ - lib/action_dispatch/journey/visualizer/fsm.js
220
+ - lib/action_dispatch/journey/visualizer/index.html.erb
221
+ - lib/action_dispatch/middleware/callbacks.rb
222
+ - lib/action_dispatch/middleware/cookies.rb
223
+ - lib/action_dispatch/middleware/debug_exceptions.rb
224
+ - lib/action_dispatch/middleware/debug_locks.rb
225
+ - lib/action_dispatch/middleware/exception_wrapper.rb
226
+ - lib/action_dispatch/middleware/executor.rb
227
+ - lib/action_dispatch/middleware/flash.rb
228
+ - lib/action_dispatch/middleware/public_exceptions.rb
229
+ - lib/action_dispatch/middleware/reloader.rb
230
+ - lib/action_dispatch/middleware/remote_ip.rb
231
+ - lib/action_dispatch/middleware/request_id.rb
232
+ - lib/action_dispatch/middleware/session/abstract_store.rb
233
+ - lib/action_dispatch/middleware/session/cache_store.rb
234
+ - lib/action_dispatch/middleware/session/cookie_store.rb
235
+ - lib/action_dispatch/middleware/session/mem_cache_store.rb
236
+ - lib/action_dispatch/middleware/show_exceptions.rb
237
+ - lib/action_dispatch/middleware/ssl.rb
238
+ - lib/action_dispatch/middleware/stack.rb
239
+ - lib/action_dispatch/middleware/static.rb
240
+ - lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb
241
+ - lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb
242
+ - lib/action_dispatch/middleware/templates/rescues/_source.html.erb
243
+ - lib/action_dispatch/middleware/templates/rescues/_source.text.erb
244
+ - lib/action_dispatch/middleware/templates/rescues/_trace.html.erb
245
+ - lib/action_dispatch/middleware/templates/rescues/_trace.text.erb
246
+ - lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb
247
+ - lib/action_dispatch/middleware/templates/rescues/diagnostics.text.erb
248
+ - lib/action_dispatch/middleware/templates/rescues/invalid_statement.html.erb
249
+ - lib/action_dispatch/middleware/templates/rescues/invalid_statement.text.erb
250
+ - lib/action_dispatch/middleware/templates/rescues/layout.erb
251
+ - lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb
252
+ - lib/action_dispatch/middleware/templates/rescues/missing_template.text.erb
253
+ - lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb
254
+ - lib/action_dispatch/middleware/templates/rescues/routing_error.text.erb
255
+ - lib/action_dispatch/middleware/templates/rescues/template_error.html.erb
256
+ - lib/action_dispatch/middleware/templates/rescues/template_error.text.erb
257
+ - lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb
258
+ - lib/action_dispatch/middleware/templates/rescues/unknown_action.text.erb
259
+ - lib/action_dispatch/middleware/templates/routes/_route.html.erb
260
+ - lib/action_dispatch/middleware/templates/routes/_table.html.erb
261
+ - lib/action_dispatch/railtie.rb
262
+ - lib/action_dispatch/request/session.rb
263
+ - lib/action_dispatch/request/utils.rb
264
+ - lib/action_dispatch/routing.rb
265
+ - lib/action_dispatch/routing/endpoint.rb
266
+ - lib/action_dispatch/routing/inspector.rb
267
+ - lib/action_dispatch/routing/mapper.rb
268
+ - lib/action_dispatch/routing/polymorphic_routes.rb
269
+ - lib/action_dispatch/routing/redirection.rb
270
+ - lib/action_dispatch/routing/route_set.rb
271
+ - lib/action_dispatch/routing/routes_proxy.rb
272
+ - lib/action_dispatch/routing/url_for.rb
273
+ - lib/action_dispatch/system_test_case.rb
274
+ - lib/action_dispatch/system_testing/browser.rb
275
+ - lib/action_dispatch/system_testing/driver.rb
276
+ - lib/action_dispatch/system_testing/server.rb
277
+ - lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb
278
+ - lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb
279
+ - lib/action_dispatch/system_testing/test_helpers/undef_methods.rb
280
+ - lib/action_dispatch/testing/assertion_response.rb
281
+ - lib/action_dispatch/testing/assertions.rb
282
+ - lib/action_dispatch/testing/assertions/response.rb
283
+ - lib/action_dispatch/testing/assertions/routing.rb
284
+ - lib/action_dispatch/testing/integration.rb
285
+ - lib/action_dispatch/testing/request_encoder.rb
286
+ - lib/action_dispatch/testing/test_process.rb
287
+ - lib/action_dispatch/testing/test_request.rb
288
+ - lib/action_dispatch/testing/test_response.rb
289
+ - lib/action_pack.rb
290
+ - lib/action_pack/gem_version.rb
291
+ - lib/action_pack/version.rb
292
+ homepage: http://rubyonrails.org
293
+ licenses:
294
+ - MIT
295
+ metadata:
296
+ source_code_uri: https://github.com/rails/rails/tree/v5.2.3/actionpack
297
+ changelog_uri: https://github.com/rails/rails/blob/v5.2.3/actionpack/CHANGELOG.md
298
+ post_install_message:
299
+ rdoc_options: []
300
+ require_paths:
301
+ - lib
302
+ required_ruby_version: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: 2.2.2
307
+ required_rubygems_version: !ruby/object:Gem::Requirement
308
+ requirements:
309
+ - - ">="
310
+ - !ruby/object:Gem::Version
311
+ version: '0'
312
+ requirements:
313
+ - none
314
+ rubygems_version: 3.0.1
315
+ signing_key:
316
+ specification_version: 4
317
+ summary: Web-flow and rendering framework putting the VC in MVC (part of Rails).
318
+ test_files: []