actionpack 4.0.13 → 4.1.0.beta1
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 +131 -1636
- data/README.rdoc +1 -6
- data/lib/abstract_controller.rb +1 -2
- data/lib/abstract_controller/base.rb +3 -25
- data/lib/abstract_controller/callbacks.rb +4 -2
- data/lib/abstract_controller/collector.rb +11 -1
- data/lib/abstract_controller/helpers.rb +18 -15
- data/lib/abstract_controller/rendering.rb +48 -127
- data/lib/action_controller.rb +1 -17
- data/lib/action_controller/base.rb +14 -6
- data/lib/action_controller/caching.rb +1 -11
- data/lib/action_controller/log_subscriber.rb +1 -1
- data/lib/action_controller/metal.rb +0 -4
- data/lib/action_controller/metal/flash.rb +17 -0
- data/lib/action_controller/metal/force_ssl.rb +1 -1
- data/lib/action_controller/metal/head.rb +1 -3
- data/lib/action_controller/metal/helpers.rb +6 -2
- data/lib/action_controller/metal/http_authentication.rb +7 -14
- data/lib/action_controller/metal/instrumentation.rb +1 -1
- data/lib/action_controller/metal/live.rb +74 -0
- data/lib/action_controller/metal/mime_responds.rb +93 -16
- data/lib/action_controller/metal/params_wrapper.rb +4 -11
- data/lib/action_controller/metal/rack_delegation.rb +1 -1
- data/lib/action_controller/metal/redirecting.rb +20 -20
- data/lib/action_controller/metal/renderers.rb +8 -5
- data/lib/action_controller/metal/rendering.rb +14 -11
- data/lib/action_controller/metal/request_forgery_protection.rb +67 -13
- data/lib/action_controller/metal/responder.rb +12 -2
- data/lib/action_controller/metal/streaming.rb +18 -20
- data/lib/action_controller/metal/strong_parameters.rb +22 -34
- data/lib/action_controller/railtie.rb +0 -1
- data/lib/action_controller/test_case.rb +0 -15
- data/lib/action_dispatch.rb +1 -0
- data/lib/action_dispatch/http/headers.rb +1 -3
- data/lib/action_dispatch/http/mime_negotiation.rb +16 -2
- data/lib/action_dispatch/http/mime_type.rb +4 -22
- data/lib/action_dispatch/http/mime_types.rb +1 -0
- data/lib/action_dispatch/http/parameters.rb +18 -19
- data/lib/action_dispatch/http/request.rb +16 -25
- data/lib/action_dispatch/http/response.rb +21 -8
- data/lib/action_dispatch/http/upload.rb +0 -13
- data/lib/action_dispatch/http/url.rb +10 -18
- data/lib/action_dispatch/journey/formatter.rb +3 -3
- data/lib/action_dispatch/journey/gtg/transition_table.rb +3 -5
- data/lib/action_dispatch/journey/parser.rb +1 -1
- data/lib/action_dispatch/journey/parser.y +1 -0
- data/lib/action_dispatch/journey/router.rb +7 -1
- data/lib/action_dispatch/journey/router/utils.rb +1 -1
- data/lib/action_dispatch/journey/visitors.rb +26 -47
- data/lib/action_dispatch/middleware/callbacks.rb +6 -6
- data/lib/action_dispatch/middleware/cookies.rb +15 -15
- data/lib/action_dispatch/middleware/debug_exceptions.rb +21 -13
- data/lib/action_dispatch/middleware/exception_wrapper.rb +1 -1
- data/lib/action_dispatch/middleware/flash.rb +5 -11
- data/lib/action_dispatch/middleware/params_parser.rb +1 -1
- data/lib/action_dispatch/middleware/public_exceptions.rb +1 -5
- data/lib/action_dispatch/middleware/session/cache_store.rb +3 -3
- data/lib/action_dispatch/middleware/session/cookie_store.rb +4 -3
- data/lib/action_dispatch/middleware/show_exceptions.rb +5 -2
- data/lib/action_dispatch/middleware/ssl.rb +1 -1
- data/lib/action_dispatch/middleware/static.rb +5 -25
- data/lib/action_dispatch/middleware/templates/rescues/{_request_and_response.erb → _request_and_response.html.erb} +0 -0
- data/lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb +23 -0
- data/lib/action_dispatch/middleware/templates/rescues/{_trace.erb → _trace.html.erb} +0 -0
- data/lib/action_dispatch/middleware/templates/rescues/_trace.text.erb +15 -0
- data/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/{missing_template.erb → missing_template.html.erb} +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/missing_template.text.erb +3 -0
- data/lib/action_dispatch/middleware/templates/rescues/{routing_error.erb → routing_error.html.erb} +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/routing_error.text.erb +11 -0
- data/lib/action_dispatch/middleware/templates/rescues/{template_error.erb → template_error.html.erb} +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/template_error.text.erb +8 -0
- data/lib/action_dispatch/middleware/templates/rescues/{unknown_action.erb → unknown_action.html.erb} +1 -1
- data/lib/action_dispatch/middleware/templates/rescues/unknown_action.text.erb +3 -0
- data/lib/action_dispatch/middleware/templates/routes/_table.html.erb +3 -3
- data/lib/action_dispatch/railtie.rb +1 -2
- data/lib/action_dispatch/request/session.rb +12 -0
- data/lib/action_dispatch/request/utils.rb +24 -0
- data/lib/action_dispatch/routing.rb +7 -6
- data/lib/action_dispatch/routing/inspector.rb +4 -4
- data/lib/action_dispatch/routing/mapper.rb +81 -138
- data/lib/action_dispatch/routing/polymorphic_routes.rb +13 -0
- data/lib/action_dispatch/routing/redirection.rb +34 -27
- data/lib/action_dispatch/routing/route_set.rb +43 -37
- data/lib/action_dispatch/routing/url_for.rb +3 -1
- data/lib/action_dispatch/testing/assertions/response.rb +8 -15
- data/lib/action_dispatch/testing/assertions/selector.rb +4 -4
- data/lib/action_dispatch/testing/integration.rb +1 -7
- data/lib/action_pack/version.rb +1 -1
- metadata +43 -167
- data/lib/abstract_controller/layouts.rb +0 -423
- data/lib/abstract_controller/view_paths.rb +0 -96
- data/lib/action_controller/deprecated.rb +0 -7
- data/lib/action_controller/deprecated/integration_test.rb +0 -5
- data/lib/action_controller/record_identifier.rb +0 -31
- data/lib/action_controller/vendor/html-scanner.rb +0 -5
- data/lib/action_view.rb +0 -93
- data/lib/action_view/base.rb +0 -205
- data/lib/action_view/buffers.rb +0 -49
- data/lib/action_view/context.rb +0 -36
- data/lib/action_view/dependency_tracker.rb +0 -93
- data/lib/action_view/digestor.rb +0 -113
- data/lib/action_view/flows.rb +0 -76
- data/lib/action_view/helpers.rb +0 -58
- data/lib/action_view/helpers/active_model_helper.rb +0 -49
- data/lib/action_view/helpers/asset_tag_helper.rb +0 -320
- data/lib/action_view/helpers/asset_url_helper.rb +0 -355
- data/lib/action_view/helpers/atom_feed_helper.rb +0 -203
- data/lib/action_view/helpers/cache_helper.rb +0 -196
- data/lib/action_view/helpers/capture_helper.rb +0 -216
- data/lib/action_view/helpers/controller_helper.rb +0 -25
- data/lib/action_view/helpers/csrf_helper.rb +0 -32
- data/lib/action_view/helpers/date_helper.rb +0 -1087
- data/lib/action_view/helpers/debug_helper.rb +0 -39
- data/lib/action_view/helpers/form_helper.rb +0 -1882
- data/lib/action_view/helpers/form_options_helper.rb +0 -838
- data/lib/action_view/helpers/form_tag_helper.rb +0 -785
- data/lib/action_view/helpers/javascript_helper.rb +0 -117
- data/lib/action_view/helpers/number_helper.rb +0 -451
- data/lib/action_view/helpers/output_safety_helper.rb +0 -38
- data/lib/action_view/helpers/record_tag_helper.rb +0 -106
- data/lib/action_view/helpers/rendering_helper.rb +0 -90
- data/lib/action_view/helpers/sanitize_helper.rb +0 -256
- data/lib/action_view/helpers/tag_helper.rb +0 -173
- data/lib/action_view/helpers/tags.rb +0 -39
- data/lib/action_view/helpers/tags/base.rb +0 -148
- data/lib/action_view/helpers/tags/check_box.rb +0 -64
- data/lib/action_view/helpers/tags/checkable.rb +0 -16
- data/lib/action_view/helpers/tags/collection_check_boxes.rb +0 -53
- data/lib/action_view/helpers/tags/collection_helpers.rb +0 -84
- data/lib/action_view/helpers/tags/collection_radio_buttons.rb +0 -36
- data/lib/action_view/helpers/tags/collection_select.rb +0 -28
- data/lib/action_view/helpers/tags/color_field.rb +0 -25
- data/lib/action_view/helpers/tags/date_field.rb +0 -13
- data/lib/action_view/helpers/tags/date_select.rb +0 -72
- data/lib/action_view/helpers/tags/datetime_field.rb +0 -22
- data/lib/action_view/helpers/tags/datetime_local_field.rb +0 -19
- data/lib/action_view/helpers/tags/datetime_select.rb +0 -8
- data/lib/action_view/helpers/tags/email_field.rb +0 -8
- data/lib/action_view/helpers/tags/file_field.rb +0 -8
- data/lib/action_view/helpers/tags/grouped_collection_select.rb +0 -29
- data/lib/action_view/helpers/tags/hidden_field.rb +0 -8
- data/lib/action_view/helpers/tags/label.rb +0 -65
- data/lib/action_view/helpers/tags/month_field.rb +0 -13
- data/lib/action_view/helpers/tags/number_field.rb +0 -18
- data/lib/action_view/helpers/tags/password_field.rb +0 -12
- data/lib/action_view/helpers/tags/radio_button.rb +0 -31
- data/lib/action_view/helpers/tags/range_field.rb +0 -8
- data/lib/action_view/helpers/tags/search_field.rb +0 -22
- data/lib/action_view/helpers/tags/select.rb +0 -40
- data/lib/action_view/helpers/tags/tel_field.rb +0 -8
- data/lib/action_view/helpers/tags/text_area.rb +0 -18
- data/lib/action_view/helpers/tags/text_field.rb +0 -30
- data/lib/action_view/helpers/tags/time_field.rb +0 -13
- data/lib/action_view/helpers/tags/time_select.rb +0 -8
- data/lib/action_view/helpers/tags/time_zone_select.rb +0 -20
- data/lib/action_view/helpers/tags/url_field.rb +0 -8
- data/lib/action_view/helpers/tags/week_field.rb +0 -13
- data/lib/action_view/helpers/text_helper.rb +0 -448
- data/lib/action_view/helpers/translation_helper.rb +0 -112
- data/lib/action_view/helpers/url_helper.rb +0 -635
- data/lib/action_view/locale/en.yml +0 -56
- data/lib/action_view/log_subscriber.rb +0 -30
- data/lib/action_view/lookup_context.rb +0 -248
- data/lib/action_view/model_naming.rb +0 -12
- data/lib/action_view/path_set.rb +0 -77
- data/lib/action_view/railtie.rb +0 -43
- data/lib/action_view/record_identifier.rb +0 -84
- data/lib/action_view/renderer/abstract_renderer.rb +0 -47
- data/lib/action_view/renderer/partial_renderer.rb +0 -500
- data/lib/action_view/renderer/renderer.rb +0 -50
- data/lib/action_view/renderer/streaming_template_renderer.rb +0 -103
- data/lib/action_view/renderer/template_renderer.rb +0 -96
- data/lib/action_view/routing_url_for.rb +0 -107
- data/lib/action_view/tasks/dependencies.rake +0 -17
- data/lib/action_view/template.rb +0 -339
- data/lib/action_view/template/error.rb +0 -138
- data/lib/action_view/template/handlers.rb +0 -53
- data/lib/action_view/template/handlers/builder.rb +0 -26
- data/lib/action_view/template/handlers/erb.rb +0 -146
- data/lib/action_view/template/handlers/raw.rb +0 -11
- data/lib/action_view/template/resolver.rb +0 -340
- data/lib/action_view/template/text.rb +0 -34
- data/lib/action_view/template/types.rb +0 -57
- data/lib/action_view/test_case.rb +0 -270
- data/lib/action_view/testing/resolvers.rb +0 -50
- data/lib/action_view/vendor/html-scanner.rb +0 -20
- data/lib/action_view/vendor/html-scanner/html/document.rb +0 -68
- data/lib/action_view/vendor/html-scanner/html/node.rb +0 -532
- data/lib/action_view/vendor/html-scanner/html/sanitizer.rb +0 -188
- data/lib/action_view/vendor/html-scanner/html/selector.rb +0 -830
- data/lib/action_view/vendor/html-scanner/html/tokenizer.rb +0 -107
- data/lib/action_view/vendor/html-scanner/html/version.rb +0 -11
@@ -74,6 +74,19 @@ module ActionDispatch
|
|
74
74
|
# * <tt>:routing_type</tt> - Allowed values are <tt>:path</tt> or <tt>:url</tt>.
|
75
75
|
# Default is <tt>:url</tt>.
|
76
76
|
#
|
77
|
+
# Also includes all the options from <tt>url_for</tt>. These include such
|
78
|
+
# things as <tt>:anchor</tt> or <tt>:trailing_slash</tt>. Example usage
|
79
|
+
# is given below:
|
80
|
+
#
|
81
|
+
# polymorphic_url([blog, post], anchor: 'my_anchor')
|
82
|
+
# # => "http://example.com/blogs/1/posts/1#my_anchor"
|
83
|
+
# polymorphic_url([blog, post], anchor: 'my_anchor', script_name: "/my_app")
|
84
|
+
# # => "http://example.com/my_app/blogs/1/posts/1#my_anchor"
|
85
|
+
#
|
86
|
+
# For all of these options, see the documentation for <tt>url_for</tt>.
|
87
|
+
#
|
88
|
+
# ==== Functionality
|
89
|
+
#
|
77
90
|
# # an Article record
|
78
91
|
# polymorphic_url(record) # same as article_url(record)
|
79
92
|
#
|
@@ -17,7 +17,7 @@ module ActionDispatch
|
|
17
17
|
def call(env)
|
18
18
|
req = Request.new(env)
|
19
19
|
|
20
|
-
# If any of the path parameters has
|
20
|
+
# If any of the path parameters has an invalid encoding then
|
21
21
|
# raise since it's likely to trigger errors further on.
|
22
22
|
req.symbolized_path_parameters.each do |key, value|
|
23
23
|
unless value.valid_encoding?
|
@@ -26,19 +26,14 @@ module ActionDispatch
|
|
26
26
|
end
|
27
27
|
|
28
28
|
uri = URI.parse(path(req.symbolized_path_parameters, req))
|
29
|
-
|
30
|
-
unless uri.host
|
31
|
-
if relative_path?(uri.path)
|
32
|
-
uri.path = "#{req.script_name}/#{uri.path}"
|
33
|
-
elsif uri.path.empty?
|
34
|
-
uri.path = req.script_name.empty? ? "/" : req.script_name
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
29
|
uri.scheme ||= req.scheme
|
39
30
|
uri.host ||= req.host
|
40
31
|
uri.port ||= req.port unless req.standard_port?
|
41
32
|
|
33
|
+
if relative_path?(uri.path)
|
34
|
+
uri.path = "#{req.script_name}/#{uri.path}"
|
35
|
+
end
|
36
|
+
|
42
37
|
body = %(<html><body>You are being <a href="#{ERB::Util.h(uri.to_s)}">redirected</a>.</body></html>)
|
43
38
|
|
44
39
|
headers = {
|
@@ -62,11 +57,33 @@ module ActionDispatch
|
|
62
57
|
def relative_path?(path)
|
63
58
|
path && !path.empty? && path[0] != '/'
|
64
59
|
end
|
60
|
+
|
61
|
+
def escape(params)
|
62
|
+
Hash[params.map{ |k,v| [k, Rack::Utils.escape(v)] }]
|
63
|
+
end
|
64
|
+
|
65
|
+
def escape_fragment(params)
|
66
|
+
Hash[params.map{ |k,v| [k, Journey::Router::Utils.escape_fragment(v)] }]
|
67
|
+
end
|
68
|
+
|
69
|
+
def escape_path(params)
|
70
|
+
Hash[params.map{ |k,v| [k, Journey::Router::Utils.escape_path(v)] }]
|
71
|
+
end
|
65
72
|
end
|
66
73
|
|
67
74
|
class PathRedirect < Redirect
|
75
|
+
URL_PARTS = /\A([^?]+)?(\?[^#]+)?(#.+)?\z/
|
76
|
+
|
68
77
|
def path(params, request)
|
69
|
-
|
78
|
+
if block.match(URL_PARTS)
|
79
|
+
path = interpolation_required?($1, params) ? $1 % escape_path(params) : $1
|
80
|
+
query = interpolation_required?($2, params) ? $2 % escape(params) : $2
|
81
|
+
fragment = interpolation_required?($3, params) ? $3 % escape_fragment(params) : $3
|
82
|
+
|
83
|
+
"#{path}#{query}#{fragment}"
|
84
|
+
else
|
85
|
+
interpolation_required?(block, params) ? block % escape(params) : block
|
86
|
+
end
|
70
87
|
end
|
71
88
|
|
72
89
|
def inspect
|
@@ -74,8 +91,8 @@ module ActionDispatch
|
|
74
91
|
end
|
75
92
|
|
76
93
|
private
|
77
|
-
def
|
78
|
-
|
94
|
+
def interpolation_required?(string, params)
|
95
|
+
!params.empty? && string && string.match(/%\{\w*\}/)
|
79
96
|
end
|
80
97
|
end
|
81
98
|
|
@@ -95,27 +112,17 @@ module ActionDispatch
|
|
95
112
|
url_options[:path] = (url_options[:path] % escape_path(params))
|
96
113
|
end
|
97
114
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
url_options[:script_name] = request.script_name
|
102
|
-
elsif url_options[:path].empty?
|
103
|
-
url_options[:path] = request.script_name.empty? ? "/" : ""
|
104
|
-
url_options[:script_name] = request.script_name
|
105
|
-
end
|
115
|
+
if relative_path?(url_options[:path])
|
116
|
+
url_options[:path] = "/#{url_options[:path]}"
|
117
|
+
url_options[:script_name] = request.script_name
|
106
118
|
end
|
107
|
-
|
119
|
+
|
108
120
|
ActionDispatch::Http::URL.url_for url_options
|
109
121
|
end
|
110
122
|
|
111
123
|
def inspect
|
112
124
|
"redirect(#{status}, #{options.map{ |k,v| "#{k}: #{v}" }.join(', ')})"
|
113
125
|
end
|
114
|
-
|
115
|
-
private
|
116
|
-
def escape_path(params)
|
117
|
-
Hash[params.map{ |k,v| [k, URI.parser.escape(v)] }]
|
118
|
-
end
|
119
126
|
end
|
120
127
|
|
121
128
|
module Redirection
|
@@ -1,13 +1,11 @@
|
|
1
1
|
require 'action_dispatch/journey'
|
2
2
|
require 'forwardable'
|
3
3
|
require 'thread_safe'
|
4
|
-
require 'active_support/concern'
|
5
4
|
require 'active_support/core_ext/object/to_query'
|
6
5
|
require 'active_support/core_ext/hash/slice'
|
7
6
|
require 'active_support/core_ext/module/remove_method'
|
8
7
|
require 'active_support/core_ext/array/extract_options'
|
9
8
|
require 'action_controller/metal/exceptions'
|
10
|
-
require 'action_dispatch/http/request'
|
11
9
|
|
12
10
|
module ActionDispatch
|
13
11
|
module Routing
|
@@ -165,10 +163,9 @@ module ActionDispatch
|
|
165
163
|
|
166
164
|
def initialize(route, options)
|
167
165
|
super
|
168
|
-
@
|
169
|
-
@
|
170
|
-
@
|
171
|
-
@optimized_path = @route.optimized_path
|
166
|
+
@path_parts = @route.required_parts
|
167
|
+
@arg_size = @path_parts.size
|
168
|
+
@string_route = @route.optimized_path
|
172
169
|
end
|
173
170
|
|
174
171
|
def call(t, args)
|
@@ -185,36 +182,43 @@ module ActionDispatch
|
|
185
182
|
private
|
186
183
|
|
187
184
|
def optimized_helper(args)
|
188
|
-
|
189
|
-
|
185
|
+
path = @string_route.dup
|
186
|
+
klass = Journey::Router::Utils
|
190
187
|
|
191
|
-
|
192
|
-
|
193
|
-
end
|
188
|
+
@path_parts.zip(args) do |part, arg|
|
189
|
+
parameterized_arg = arg.to_param
|
194
190
|
|
195
|
-
|
196
|
-
|
191
|
+
if parameterized_arg.nil? || parameterized_arg.empty?
|
192
|
+
raise_generation_error(args)
|
193
|
+
end
|
197
194
|
|
198
|
-
|
199
|
-
|
195
|
+
# Replace each route parameter
|
196
|
+
# e.g. :id for regular parameter or *path for globbing
|
197
|
+
# with ruby string interpolation code
|
198
|
+
path.gsub!(/(\*|:)#{part}/, klass.escape_fragment(parameterized_arg))
|
199
|
+
end
|
200
|
+
path
|
200
201
|
end
|
201
202
|
|
202
203
|
def optimize_routes_generation?(t)
|
203
204
|
t.send(:optimize_routes_generation?)
|
204
205
|
end
|
205
206
|
|
206
|
-
def
|
207
|
-
|
208
|
-
end
|
207
|
+
def raise_generation_error(args)
|
208
|
+
parts, missing_keys = [], []
|
209
209
|
|
210
|
-
|
211
|
-
|
212
|
-
end
|
210
|
+
@path_parts.zip(args) do |part, arg|
|
211
|
+
parameterized_arg = arg.to_param
|
213
212
|
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
213
|
+
if parameterized_arg.nil? || parameterized_arg.empty?
|
214
|
+
missing_keys << part
|
215
|
+
end
|
216
|
+
|
217
|
+
parts << [part, arg]
|
218
|
+
end
|
219
|
+
|
220
|
+
message = "No route matches #{Hash[parts].inspect}"
|
221
|
+
message << " missing required keys: #{missing_keys.inspect}"
|
218
222
|
|
219
223
|
raise ActionController::UrlGenerationError, message
|
220
224
|
end
|
@@ -222,7 +226,7 @@ module ActionDispatch
|
|
222
226
|
|
223
227
|
def initialize(route, options)
|
224
228
|
@options = options
|
225
|
-
@segment_keys = route.segment_keys
|
229
|
+
@segment_keys = route.segment_keys
|
226
230
|
@route = route
|
227
231
|
end
|
228
232
|
|
@@ -510,11 +514,12 @@ module ActionDispatch
|
|
510
514
|
@recall = recall.dup
|
511
515
|
@set = set
|
512
516
|
|
517
|
+
normalize_recall!
|
513
518
|
normalize_options!
|
514
519
|
normalize_controller_action_id!
|
515
520
|
use_relative_controller!
|
516
521
|
normalize_controller!
|
517
|
-
|
522
|
+
normalize_action!
|
518
523
|
end
|
519
524
|
|
520
525
|
def controller
|
@@ -533,6 +538,11 @@ module ActionDispatch
|
|
533
538
|
end
|
534
539
|
end
|
535
540
|
|
541
|
+
# Set 'index' as default action for recall
|
542
|
+
def normalize_recall!
|
543
|
+
@recall[:action] ||= 'index'
|
544
|
+
end
|
545
|
+
|
536
546
|
def normalize_options!
|
537
547
|
# If an explicit :controller was given, always make :action explicit
|
538
548
|
# too, so that action expiry works as expected for things like
|
@@ -548,8 +558,8 @@ module ActionDispatch
|
|
548
558
|
options[:controller] = options[:controller].to_s
|
549
559
|
end
|
550
560
|
|
551
|
-
if options
|
552
|
-
options[:action] = options[:action].to_s
|
561
|
+
if options.key?(:action)
|
562
|
+
options[:action] = (options[:action] || 'index').to_s
|
553
563
|
end
|
554
564
|
end
|
555
565
|
|
@@ -559,8 +569,6 @@ module ActionDispatch
|
|
559
569
|
# :controller, :action or :id is not found, don't pull any
|
560
570
|
# more keys from the recall.
|
561
571
|
def normalize_controller_action_id!
|
562
|
-
@recall[:action] ||= 'index' if current_controller
|
563
|
-
|
564
572
|
use_recall_for(:controller) or return
|
565
573
|
use_recall_for(:action) or return
|
566
574
|
use_recall_for(:id)
|
@@ -582,13 +590,11 @@ module ActionDispatch
|
|
582
590
|
@options[:controller] = controller.sub(%r{^/}, '') if controller
|
583
591
|
end
|
584
592
|
|
585
|
-
#
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
options[:action] = 'index'
|
593
|
+
# Move 'index' action from options to recall
|
594
|
+
def normalize_action!
|
595
|
+
if @options[:action] == 'index'
|
596
|
+
@recall[:action] = @options.delete(:action)
|
590
597
|
end
|
591
|
-
recall[:action] = options.delete(:action) if options[:action] == 'index'
|
592
598
|
end
|
593
599
|
|
594
600
|
# Generates a path from routes, returns [path, params].
|
@@ -20,7 +20,7 @@ module ActionDispatch
|
|
20
20
|
#
|
21
21
|
# <%= link_to('Click here', controller: 'users',
|
22
22
|
# action: 'new', message: 'Welcome!') %>
|
23
|
-
# # => "/users/new?message=Welcome%21"
|
23
|
+
# # => <a href="/users/new?message=Welcome%21">Click here</a>
|
24
24
|
#
|
25
25
|
# link_to, and all other functions that require URL generation functionality,
|
26
26
|
# actually use ActionController::UrlFor under the hood. And in particular,
|
@@ -155,6 +155,8 @@ module ActionDispatch
|
|
155
155
|
_routes.url_for(options.symbolize_keys.reverse_merge!(url_options))
|
156
156
|
when String
|
157
157
|
options
|
158
|
+
when Array
|
159
|
+
polymorphic_url(options, options.extract_options!)
|
158
160
|
else
|
159
161
|
polymorphic_url(options)
|
160
162
|
end
|
@@ -27,6 +27,9 @@ module ActionDispatch
|
|
27
27
|
assert @response.send("#{type}?"), message
|
28
28
|
else
|
29
29
|
code = Rack::Utils::SYMBOL_TO_STATUS_CODE[type]
|
30
|
+
if code.nil?
|
31
|
+
raise ArgumentError, "Invalid response type :#{type}"
|
32
|
+
end
|
30
33
|
assert_equal code, @response.response_code, message
|
31
34
|
end
|
32
35
|
else
|
@@ -67,21 +70,11 @@ module ActionDispatch
|
|
67
70
|
end
|
68
71
|
|
69
72
|
def normalize_argument_to_redirection(fragment)
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
when String
|
76
|
-
@request.protocol + @request.host_with_port + fragment
|
77
|
-
when :back
|
78
|
-
raise RedirectBackError unless refer = @request.headers["Referer"]
|
79
|
-
refer
|
80
|
-
else
|
81
|
-
@controller.url_for(fragment)
|
82
|
-
end
|
83
|
-
|
84
|
-
normalized.respond_to?(:delete) ? normalized.delete("\0\r\n") : normalized
|
73
|
+
if Regexp === fragment
|
74
|
+
fragment
|
75
|
+
else
|
76
|
+
@controller._compute_redirect_to_location(fragment)
|
77
|
+
end
|
85
78
|
end
|
86
79
|
end
|
87
80
|
end
|
@@ -267,7 +267,7 @@ module ActionDispatch
|
|
267
267
|
text.strip! unless NO_STRIP.include?(match.name)
|
268
268
|
text.sub!(/\A\n/, '') if match.name == "textarea"
|
269
269
|
unless match_with.is_a?(Regexp) ? (text =~ match_with) : (text == match_with.to_s)
|
270
|
-
content_mismatch ||= sprintf("<%s> expected but was\n<%s
|
270
|
+
content_mismatch ||= sprintf("<%s> expected but was\n<%s>.", match_with, text)
|
271
271
|
true
|
272
272
|
end
|
273
273
|
end
|
@@ -276,7 +276,7 @@ module ActionDispatch
|
|
276
276
|
html = match.children.map(&:to_s).join
|
277
277
|
html.strip! unless NO_STRIP.include?(match.name)
|
278
278
|
unless match_with.is_a?(Regexp) ? (html =~ match_with) : (html == match_with.to_s)
|
279
|
-
content_mismatch ||= sprintf("<%s> expected but was\n<%s
|
279
|
+
content_mismatch ||= sprintf("<%s> expected but was\n<%s>.", match_with, html)
|
280
280
|
true
|
281
281
|
end
|
282
282
|
end
|
@@ -289,9 +289,9 @@ module ActionDispatch
|
|
289
289
|
|
290
290
|
# FIXME: minitest provides messaging when we use assert_operator,
|
291
291
|
# so is this custom message really needed?
|
292
|
-
message = message || %(Expected #{count_description(min, max, count)} matching "#{selector.to_s}", found #{matches.size})
|
292
|
+
message = message || %(Expected #{count_description(min, max, count)} matching "#{selector.to_s}", found #{matches.size}.)
|
293
293
|
if count
|
294
|
-
assert_equal
|
294
|
+
assert_equal matches.size, count, message
|
295
295
|
else
|
296
296
|
assert_operator matches.size, :>=, min, message if min
|
297
297
|
assert_operator matches.size, :<=, max, message if max
|
@@ -3,7 +3,7 @@ require 'uri'
|
|
3
3
|
require 'active_support/core_ext/kernel/singleton_class'
|
4
4
|
require 'active_support/core_ext/object/try'
|
5
5
|
require 'rack/test'
|
6
|
-
require 'minitest
|
6
|
+
require 'minitest'
|
7
7
|
|
8
8
|
module ActionDispatch
|
9
9
|
module Integration #:nodoc:
|
@@ -298,8 +298,6 @@ module ActionDispatch
|
|
298
298
|
|
299
299
|
session = Rack::Test::Session.new(_mock_session)
|
300
300
|
|
301
|
-
env.merge!(env)
|
302
|
-
|
303
301
|
# NOTE: rack-test v0.5 doesn't build a default uri correctly
|
304
302
|
# Make sure requested path is always a full uri
|
305
303
|
uri = URI.parse('/')
|
@@ -489,10 +487,6 @@ module ActionDispatch
|
|
489
487
|
@@app = nil
|
490
488
|
|
491
489
|
def self.app
|
492
|
-
if !@@app && !ActionDispatch.test_app
|
493
|
-
ActiveSupport::Deprecation.warn "Rails application fallback is deprecated and no longer works, please set ActionDispatch.test_app"
|
494
|
-
end
|
495
|
-
|
496
490
|
@@app || ActionDispatch.test_app
|
497
491
|
end
|
498
492
|
|
data/lib/action_pack/version.rb
CHANGED
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: 4.0.
|
4
|
+
version: 4.1.0.beta1
|
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:
|
11
|
+
date: 2013-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,98 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.0.
|
19
|
+
version: 4.1.0.beta1
|
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: 4.0.
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: builder
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 3.1.0
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 3.1.0
|
26
|
+
version: 4.1.0.beta1
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: rack
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
|
-
- -
|
31
|
+
- - ~>
|
46
32
|
- !ruby/object:Gem::Version
|
47
33
|
version: 1.5.2
|
48
34
|
type: :runtime
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
|
-
- -
|
38
|
+
- - ~>
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: 1.5.2
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rack-test
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
|
-
- -
|
45
|
+
- - ~>
|
60
46
|
- !ruby/object:Gem::Version
|
61
47
|
version: 0.6.2
|
62
48
|
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
|
-
- -
|
52
|
+
- - ~>
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: 0.6.2
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
56
|
+
name: actionview
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
|
-
- -
|
59
|
+
- - '='
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
61
|
+
version: 4.1.0.beta1
|
76
62
|
type: :runtime
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
|
-
- -
|
66
|
+
- - '='
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
68
|
+
version: 4.1.0.beta1
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: activemodel
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - '='
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: 4.0.
|
75
|
+
version: 4.1.0.beta1
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
80
|
- - '='
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: 4.0.
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: tzinfo
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 0.3.37
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 0.3.37
|
82
|
+
version: 4.1.0.beta1
|
111
83
|
description: Web apps on Rails. Simple, battle-tested conventions for building and
|
112
84
|
testing MVC web applications. Works with any Rack-compatible server.
|
113
85
|
email: david@loudthinking.com
|
@@ -116,29 +88,23 @@ extensions: []
|
|
116
88
|
extra_rdoc_files: []
|
117
89
|
files:
|
118
90
|
- CHANGELOG.md
|
119
|
-
- MIT-LICENSE
|
120
91
|
- README.rdoc
|
121
|
-
-
|
92
|
+
- MIT-LICENSE
|
122
93
|
- lib/abstract_controller/asset_paths.rb
|
123
94
|
- lib/abstract_controller/base.rb
|
124
95
|
- lib/abstract_controller/callbacks.rb
|
125
96
|
- lib/abstract_controller/collector.rb
|
126
97
|
- lib/abstract_controller/helpers.rb
|
127
|
-
- lib/abstract_controller/layouts.rb
|
128
98
|
- lib/abstract_controller/logger.rb
|
129
99
|
- lib/abstract_controller/railties/routes_helpers.rb
|
130
100
|
- lib/abstract_controller/rendering.rb
|
131
101
|
- lib/abstract_controller/translation.rb
|
132
102
|
- lib/abstract_controller/url_for.rb
|
133
|
-
- lib/abstract_controller
|
134
|
-
- lib/action_controller.rb
|
103
|
+
- lib/abstract_controller.rb
|
135
104
|
- lib/action_controller/base.rb
|
136
|
-
- lib/action_controller/caching.rb
|
137
105
|
- lib/action_controller/caching/fragments.rb
|
138
|
-
- lib/action_controller/
|
139
|
-
- lib/action_controller/deprecated/integration_test.rb
|
106
|
+
- lib/action_controller/caching.rb
|
140
107
|
- lib/action_controller/log_subscriber.rb
|
141
|
-
- lib/action_controller/metal.rb
|
142
108
|
- lib/action_controller/metal/conditional_get.rb
|
143
109
|
- lib/action_controller/metal/cookies.rb
|
144
110
|
- lib/action_controller/metal/data_streaming.rb
|
@@ -165,14 +131,13 @@ files:
|
|
165
131
|
- lib/action_controller/metal/strong_parameters.rb
|
166
132
|
- lib/action_controller/metal/testing.rb
|
167
133
|
- lib/action_controller/metal/url_for.rb
|
134
|
+
- lib/action_controller/metal.rb
|
168
135
|
- lib/action_controller/middleware.rb
|
169
136
|
- lib/action_controller/model_naming.rb
|
170
137
|
- lib/action_controller/railtie.rb
|
171
138
|
- lib/action_controller/railties/helpers.rb
|
172
|
-
- lib/action_controller/record_identifier.rb
|
173
139
|
- lib/action_controller/test_case.rb
|
174
|
-
- lib/action_controller
|
175
|
-
- lib/action_dispatch.rb
|
140
|
+
- lib/action_controller.rb
|
176
141
|
- lib/action_dispatch/http/cache.rb
|
177
142
|
- lib/action_dispatch/http/filter_parameters.rb
|
178
143
|
- lib/action_dispatch/http/filter_redirect.rb
|
@@ -187,7 +152,6 @@ files:
|
|
187
152
|
- lib/action_dispatch/http/response.rb
|
188
153
|
- lib/action_dispatch/http/upload.rb
|
189
154
|
- lib/action_dispatch/http/url.rb
|
190
|
-
- lib/action_dispatch/journey.rb
|
191
155
|
- lib/action_dispatch/journey/backwards.rb
|
192
156
|
- lib/action_dispatch/journey/formatter.rb
|
193
157
|
- lib/action_dispatch/journey/gtg/builder.rb
|
@@ -203,15 +167,16 @@ files:
|
|
203
167
|
- lib/action_dispatch/journey/parser_extras.rb
|
204
168
|
- lib/action_dispatch/journey/path/pattern.rb
|
205
169
|
- lib/action_dispatch/journey/route.rb
|
206
|
-
- lib/action_dispatch/journey/router.rb
|
207
170
|
- lib/action_dispatch/journey/router/strexp.rb
|
208
171
|
- lib/action_dispatch/journey/router/utils.rb
|
172
|
+
- lib/action_dispatch/journey/router.rb
|
209
173
|
- lib/action_dispatch/journey/routes.rb
|
210
174
|
- lib/action_dispatch/journey/scanner.rb
|
211
175
|
- lib/action_dispatch/journey/visitors.rb
|
212
176
|
- lib/action_dispatch/journey/visualizer/fsm.css
|
213
177
|
- lib/action_dispatch/journey/visualizer/fsm.js
|
214
178
|
- lib/action_dispatch/journey/visualizer/index.html.erb
|
179
|
+
- lib/action_dispatch/journey.rb
|
215
180
|
- lib/action_dispatch/middleware/callbacks.rb
|
216
181
|
- lib/action_dispatch/middleware/cookies.rb
|
217
182
|
- lib/action_dispatch/middleware/debug_exceptions.rb
|
@@ -230,20 +195,26 @@ files:
|
|
230
195
|
- lib/action_dispatch/middleware/ssl.rb
|
231
196
|
- lib/action_dispatch/middleware/stack.rb
|
232
197
|
- lib/action_dispatch/middleware/static.rb
|
233
|
-
- lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb
|
198
|
+
- lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb
|
199
|
+
- lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb
|
234
200
|
- lib/action_dispatch/middleware/templates/rescues/_source.erb
|
235
|
-
- lib/action_dispatch/middleware/templates/rescues/_trace.erb
|
201
|
+
- lib/action_dispatch/middleware/templates/rescues/_trace.html.erb
|
202
|
+
- lib/action_dispatch/middleware/templates/rescues/_trace.text.erb
|
236
203
|
- lib/action_dispatch/middleware/templates/rescues/diagnostics.erb
|
237
204
|
- lib/action_dispatch/middleware/templates/rescues/layout.erb
|
238
|
-
- lib/action_dispatch/middleware/templates/rescues/missing_template.erb
|
239
|
-
- lib/action_dispatch/middleware/templates/rescues/
|
240
|
-
- lib/action_dispatch/middleware/templates/rescues/
|
241
|
-
- lib/action_dispatch/middleware/templates/rescues/
|
205
|
+
- lib/action_dispatch/middleware/templates/rescues/missing_template.html.erb
|
206
|
+
- lib/action_dispatch/middleware/templates/rescues/missing_template.text.erb
|
207
|
+
- lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb
|
208
|
+
- lib/action_dispatch/middleware/templates/rescues/routing_error.text.erb
|
209
|
+
- lib/action_dispatch/middleware/templates/rescues/template_error.html.erb
|
210
|
+
- lib/action_dispatch/middleware/templates/rescues/template_error.text.erb
|
211
|
+
- lib/action_dispatch/middleware/templates/rescues/unknown_action.html.erb
|
212
|
+
- lib/action_dispatch/middleware/templates/rescues/unknown_action.text.erb
|
242
213
|
- lib/action_dispatch/middleware/templates/routes/_route.html.erb
|
243
214
|
- lib/action_dispatch/middleware/templates/routes/_table.html.erb
|
244
215
|
- lib/action_dispatch/railtie.rb
|
245
216
|
- lib/action_dispatch/request/session.rb
|
246
|
-
- lib/action_dispatch/
|
217
|
+
- lib/action_dispatch/request/utils.rb
|
247
218
|
- lib/action_dispatch/routing/inspector.rb
|
248
219
|
- lib/action_dispatch/routing/mapper.rb
|
249
220
|
- lib/action_dispatch/routing/polymorphic_routes.rb
|
@@ -251,115 +222,20 @@ files:
|
|
251
222
|
- lib/action_dispatch/routing/route_set.rb
|
252
223
|
- lib/action_dispatch/routing/routes_proxy.rb
|
253
224
|
- lib/action_dispatch/routing/url_for.rb
|
254
|
-
- lib/action_dispatch/
|
225
|
+
- lib/action_dispatch/routing.rb
|
255
226
|
- lib/action_dispatch/testing/assertions/dom.rb
|
256
227
|
- lib/action_dispatch/testing/assertions/response.rb
|
257
228
|
- lib/action_dispatch/testing/assertions/routing.rb
|
258
229
|
- lib/action_dispatch/testing/assertions/selector.rb
|
259
230
|
- lib/action_dispatch/testing/assertions/tag.rb
|
231
|
+
- lib/action_dispatch/testing/assertions.rb
|
260
232
|
- lib/action_dispatch/testing/integration.rb
|
261
233
|
- lib/action_dispatch/testing/test_process.rb
|
262
234
|
- lib/action_dispatch/testing/test_request.rb
|
263
235
|
- lib/action_dispatch/testing/test_response.rb
|
264
|
-
- lib/
|
236
|
+
- lib/action_dispatch.rb
|
265
237
|
- lib/action_pack/version.rb
|
266
|
-
- lib/
|
267
|
-
- lib/action_view/base.rb
|
268
|
-
- lib/action_view/buffers.rb
|
269
|
-
- lib/action_view/context.rb
|
270
|
-
- lib/action_view/dependency_tracker.rb
|
271
|
-
- lib/action_view/digestor.rb
|
272
|
-
- lib/action_view/flows.rb
|
273
|
-
- lib/action_view/helpers.rb
|
274
|
-
- lib/action_view/helpers/active_model_helper.rb
|
275
|
-
- lib/action_view/helpers/asset_tag_helper.rb
|
276
|
-
- lib/action_view/helpers/asset_url_helper.rb
|
277
|
-
- lib/action_view/helpers/atom_feed_helper.rb
|
278
|
-
- lib/action_view/helpers/cache_helper.rb
|
279
|
-
- lib/action_view/helpers/capture_helper.rb
|
280
|
-
- lib/action_view/helpers/controller_helper.rb
|
281
|
-
- lib/action_view/helpers/csrf_helper.rb
|
282
|
-
- lib/action_view/helpers/date_helper.rb
|
283
|
-
- lib/action_view/helpers/debug_helper.rb
|
284
|
-
- lib/action_view/helpers/form_helper.rb
|
285
|
-
- lib/action_view/helpers/form_options_helper.rb
|
286
|
-
- lib/action_view/helpers/form_tag_helper.rb
|
287
|
-
- lib/action_view/helpers/javascript_helper.rb
|
288
|
-
- lib/action_view/helpers/number_helper.rb
|
289
|
-
- lib/action_view/helpers/output_safety_helper.rb
|
290
|
-
- lib/action_view/helpers/record_tag_helper.rb
|
291
|
-
- lib/action_view/helpers/rendering_helper.rb
|
292
|
-
- lib/action_view/helpers/sanitize_helper.rb
|
293
|
-
- lib/action_view/helpers/tag_helper.rb
|
294
|
-
- lib/action_view/helpers/tags.rb
|
295
|
-
- lib/action_view/helpers/tags/base.rb
|
296
|
-
- lib/action_view/helpers/tags/check_box.rb
|
297
|
-
- lib/action_view/helpers/tags/checkable.rb
|
298
|
-
- lib/action_view/helpers/tags/collection_check_boxes.rb
|
299
|
-
- lib/action_view/helpers/tags/collection_helpers.rb
|
300
|
-
- lib/action_view/helpers/tags/collection_radio_buttons.rb
|
301
|
-
- lib/action_view/helpers/tags/collection_select.rb
|
302
|
-
- lib/action_view/helpers/tags/color_field.rb
|
303
|
-
- lib/action_view/helpers/tags/date_field.rb
|
304
|
-
- lib/action_view/helpers/tags/date_select.rb
|
305
|
-
- lib/action_view/helpers/tags/datetime_field.rb
|
306
|
-
- lib/action_view/helpers/tags/datetime_local_field.rb
|
307
|
-
- lib/action_view/helpers/tags/datetime_select.rb
|
308
|
-
- lib/action_view/helpers/tags/email_field.rb
|
309
|
-
- lib/action_view/helpers/tags/file_field.rb
|
310
|
-
- lib/action_view/helpers/tags/grouped_collection_select.rb
|
311
|
-
- lib/action_view/helpers/tags/hidden_field.rb
|
312
|
-
- lib/action_view/helpers/tags/label.rb
|
313
|
-
- lib/action_view/helpers/tags/month_field.rb
|
314
|
-
- lib/action_view/helpers/tags/number_field.rb
|
315
|
-
- lib/action_view/helpers/tags/password_field.rb
|
316
|
-
- lib/action_view/helpers/tags/radio_button.rb
|
317
|
-
- lib/action_view/helpers/tags/range_field.rb
|
318
|
-
- lib/action_view/helpers/tags/search_field.rb
|
319
|
-
- lib/action_view/helpers/tags/select.rb
|
320
|
-
- lib/action_view/helpers/tags/tel_field.rb
|
321
|
-
- lib/action_view/helpers/tags/text_area.rb
|
322
|
-
- lib/action_view/helpers/tags/text_field.rb
|
323
|
-
- lib/action_view/helpers/tags/time_field.rb
|
324
|
-
- lib/action_view/helpers/tags/time_select.rb
|
325
|
-
- lib/action_view/helpers/tags/time_zone_select.rb
|
326
|
-
- lib/action_view/helpers/tags/url_field.rb
|
327
|
-
- lib/action_view/helpers/tags/week_field.rb
|
328
|
-
- lib/action_view/helpers/text_helper.rb
|
329
|
-
- lib/action_view/helpers/translation_helper.rb
|
330
|
-
- lib/action_view/helpers/url_helper.rb
|
331
|
-
- lib/action_view/locale/en.yml
|
332
|
-
- lib/action_view/log_subscriber.rb
|
333
|
-
- lib/action_view/lookup_context.rb
|
334
|
-
- lib/action_view/model_naming.rb
|
335
|
-
- lib/action_view/path_set.rb
|
336
|
-
- lib/action_view/railtie.rb
|
337
|
-
- lib/action_view/record_identifier.rb
|
338
|
-
- lib/action_view/renderer/abstract_renderer.rb
|
339
|
-
- lib/action_view/renderer/partial_renderer.rb
|
340
|
-
- lib/action_view/renderer/renderer.rb
|
341
|
-
- lib/action_view/renderer/streaming_template_renderer.rb
|
342
|
-
- lib/action_view/renderer/template_renderer.rb
|
343
|
-
- lib/action_view/routing_url_for.rb
|
344
|
-
- lib/action_view/tasks/dependencies.rake
|
345
|
-
- lib/action_view/template.rb
|
346
|
-
- lib/action_view/template/error.rb
|
347
|
-
- lib/action_view/template/handlers.rb
|
348
|
-
- lib/action_view/template/handlers/builder.rb
|
349
|
-
- lib/action_view/template/handlers/erb.rb
|
350
|
-
- lib/action_view/template/handlers/raw.rb
|
351
|
-
- lib/action_view/template/resolver.rb
|
352
|
-
- lib/action_view/template/text.rb
|
353
|
-
- lib/action_view/template/types.rb
|
354
|
-
- lib/action_view/test_case.rb
|
355
|
-
- lib/action_view/testing/resolvers.rb
|
356
|
-
- lib/action_view/vendor/html-scanner.rb
|
357
|
-
- lib/action_view/vendor/html-scanner/html/document.rb
|
358
|
-
- lib/action_view/vendor/html-scanner/html/node.rb
|
359
|
-
- lib/action_view/vendor/html-scanner/html/sanitizer.rb
|
360
|
-
- lib/action_view/vendor/html-scanner/html/selector.rb
|
361
|
-
- lib/action_view/vendor/html-scanner/html/tokenizer.rb
|
362
|
-
- lib/action_view/vendor/html-scanner/html/version.rb
|
238
|
+
- lib/action_pack.rb
|
363
239
|
homepage: http://www.rubyonrails.org
|
364
240
|
licenses:
|
365
241
|
- MIT
|
@@ -370,18 +246,18 @@ require_paths:
|
|
370
246
|
- lib
|
371
247
|
required_ruby_version: !ruby/object:Gem::Requirement
|
372
248
|
requirements:
|
373
|
-
- -
|
249
|
+
- - '>='
|
374
250
|
- !ruby/object:Gem::Version
|
375
251
|
version: 1.9.3
|
376
252
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
377
253
|
requirements:
|
378
|
-
- -
|
254
|
+
- - '>'
|
379
255
|
- !ruby/object:Gem::Version
|
380
|
-
version:
|
256
|
+
version: 1.3.1
|
381
257
|
requirements:
|
382
258
|
- none
|
383
259
|
rubyforge_project:
|
384
|
-
rubygems_version: 2.
|
260
|
+
rubygems_version: 2.1.11
|
385
261
|
signing_key:
|
386
262
|
specification_version: 4
|
387
263
|
summary: Web-flow and rendering framework putting the VC in MVC (part of Rails).
|