actionview 6.0.2.2 → 6.0.3.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of actionview might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.rdoc +1 -1
- data/lib/action_view.rb +1 -0
- data/lib/action_view/cache_expiry.rb +0 -1
- data/lib/action_view/flows.rb +0 -1
- data/lib/action_view/gem_version.rb +2 -2
- data/lib/action_view/helpers/active_model_helper.rb +0 -1
- data/lib/action_view/helpers/asset_tag_helper.rb +1 -1
- data/lib/action_view/helpers/cache_helper.rb +1 -2
- data/lib/action_view/helpers/date_helper.rb +1 -2
- data/lib/action_view/helpers/form_helper.rb +2 -2
- data/lib/action_view/helpers/javascript_helper.rb +1 -1
- data/lib/action_view/helpers/number_helper.rb +3 -2
- data/lib/action_view/helpers/tag_helper.rb +2 -2
- data/lib/action_view/helpers/tags/base.rb +0 -1
- data/lib/action_view/helpers/tags/check_box.rb +0 -1
- data/lib/action_view/helpers/tags/collection_check_boxes.rb +0 -1
- data/lib/action_view/helpers/tags/collection_helpers.rb +0 -1
- data/lib/action_view/helpers/tags/collection_radio_buttons.rb +0 -1
- data/lib/action_view/helpers/tags/color_field.rb +0 -1
- data/lib/action_view/helpers/tags/date_field.rb +0 -1
- data/lib/action_view/helpers/tags/date_select.rb +0 -1
- data/lib/action_view/helpers/tags/datetime_field.rb +0 -1
- data/lib/action_view/helpers/tags/datetime_local_field.rb +0 -1
- data/lib/action_view/helpers/tags/label.rb +0 -1
- data/lib/action_view/helpers/tags/month_field.rb +0 -1
- data/lib/action_view/helpers/tags/radio_button.rb +0 -1
- data/lib/action_view/helpers/tags/select.rb +0 -1
- data/lib/action_view/helpers/tags/text_field.rb +0 -1
- data/lib/action_view/helpers/tags/time_field.rb +0 -1
- data/lib/action_view/helpers/tags/week_field.rb +0 -1
- data/lib/action_view/helpers/text_helper.rb +0 -1
- data/lib/action_view/helpers/translation_helper.rb +6 -7
- data/lib/action_view/layouts.rb +0 -3
- data/lib/action_view/log_subscriber.rb +0 -1
- data/lib/action_view/lookup_context.rb +4 -3
- data/lib/action_view/path_set.rb +0 -1
- data/lib/action_view/record_identifier.rb +0 -1
- data/lib/action_view/renderer/abstract_renderer.rb +0 -1
- data/lib/action_view/renderer/partial_renderer.rb +0 -1
- data/lib/action_view/renderer/partial_renderer/collection_caching.rb +1 -1
- data/lib/action_view/renderer/streaming_template_renderer.rb +0 -2
- data/lib/action_view/renderer/template_renderer.rb +1 -2
- data/lib/action_view/rendering.rb +0 -1
- data/lib/action_view/template.rb +0 -1
- data/lib/action_view/template/error.rb +9 -14
- data/lib/action_view/template/handlers/erb.rb +0 -1
- data/lib/action_view/template/resolver.rb +1 -5
- data/lib/action_view/test_case.rb +2 -3
- data/lib/action_view/testing/resolvers.rb +0 -1
- data/lib/action_view/unbound_template.rb +1 -2
- data/lib/action_view/view_paths.rb +0 -1
- metadata +15 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8eafe5ec8eee9ac7ae7c2a412a01e25ecf75d6895cb3a0719b00585e5d9415f3
|
4
|
+
data.tar.gz: c643fd1d07cea723cb3d19e999b27d5946ec4b4eb278f15e1b952b7de120453d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 642b3a371281cae6d3d1d88f1761cf74b9ad562d7a8bbe0764aa5b1dd2d4c367bfb229cbc6ee9ebb60d235e44670b68451a72fd8563efe9c640faced6f8d9f5d
|
7
|
+
data.tar.gz: 82f51fe028a6ab597daa5ba942efabc3d23690c5479740a72f7cc21167e11c4de5463450a9030897c0c743fc9d29feeae8b46c9b0a359d2686f59ff2c9fe7482
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
## Rails 6.0.3.rc1 (April 30, 2020) ##
|
2
|
+
|
3
|
+
* annotated_source_code returns an empty array so TemplateErrors without a
|
4
|
+
template in the backtrace are surfaced properly by DebugExceptions.
|
5
|
+
|
6
|
+
*Guilherme Mansur*, *Kasper Timm Hansen*
|
7
|
+
|
8
|
+
* Add autoload for SyntaxErrorInTemplate so syntax errors are correctly raised by DebugExceptions.
|
9
|
+
|
10
|
+
*Guilherme Mansur*, *Gannon McGibbon*
|
11
|
+
|
12
|
+
|
13
|
+
## Rails 6.0.2.2 (March 19, 2020) ##
|
14
|
+
|
15
|
+
* Fix possible XSS vector in escape_javascript helper
|
16
|
+
|
17
|
+
CVE-2020-5267
|
18
|
+
|
19
|
+
*Aaron Patterson*
|
20
|
+
|
21
|
+
|
1
22
|
## Rails 6.0.2.1 (December 18, 2019) ##
|
2
23
|
|
3
24
|
* No changes.
|
data/README.rdoc
CHANGED
@@ -37,4 +37,4 @@ Bug reports for the Ruby on Rails project can be filed here:
|
|
37
37
|
|
38
38
|
Feature requests should be discussed on the rails-core mailing list here:
|
39
39
|
|
40
|
-
* https://
|
40
|
+
* https://discuss.rubyonrails.org/c/rubyonrails-core
|
data/lib/action_view.rb
CHANGED
data/lib/action_view/flows.rb
CHANGED
@@ -274,7 +274,7 @@ module ActionView
|
|
274
274
|
crossorigin = "anonymous" if crossorigin == true || (crossorigin.blank? && as_type == "font")
|
275
275
|
nopush = options.delete(:nopush) || false
|
276
276
|
|
277
|
-
link_tag = tag.link({
|
277
|
+
link_tag = tag.link(**{
|
278
278
|
rel: "preload",
|
279
279
|
href: href,
|
280
280
|
as: as_type,
|
@@ -166,7 +166,7 @@ module ActionView
|
|
166
166
|
def cache(name = {}, options = {}, &block)
|
167
167
|
if controller.respond_to?(:perform_caching) && controller.perform_caching
|
168
168
|
name_options = options.slice(:skip_digest, :virtual_path)
|
169
|
-
safe_concat(fragment_for(cache_fragment_name(name, name_options), options, &block))
|
169
|
+
safe_concat(fragment_for(cache_fragment_name(name, **name_options), options, &block))
|
170
170
|
else
|
171
171
|
yield
|
172
172
|
end
|
@@ -227,7 +227,6 @@ module ActionView
|
|
227
227
|
end
|
228
228
|
|
229
229
|
private
|
230
|
-
|
231
230
|
def fragment_name_with_digest(name, virtual_path, digest_path)
|
232
231
|
virtual_path ||= @virtual_path
|
233
232
|
|
@@ -688,7 +688,6 @@ module ActionView
|
|
688
688
|
end
|
689
689
|
|
690
690
|
private
|
691
|
-
|
692
691
|
def normalize_distance_of_time_argument_to_time(value)
|
693
692
|
if value.is_a?(Numeric)
|
694
693
|
Time.at(value)
|
@@ -831,7 +830,7 @@ module ActionView
|
|
831
830
|
end
|
832
831
|
|
833
832
|
def select_year
|
834
|
-
if
|
833
|
+
if !year || @datetime == 0
|
835
834
|
val = "1"
|
836
835
|
middle_year = Date.today.year
|
837
836
|
else
|
@@ -755,10 +755,10 @@ module ActionView
|
|
755
755
|
output = capture(builder, &block)
|
756
756
|
options[:multipart] ||= builder.multipart?
|
757
757
|
|
758
|
-
html_options = html_options_for_form_with(url, model, options)
|
758
|
+
html_options = html_options_for_form_with(url, model, **options)
|
759
759
|
form_tag_with_body(html_options, output)
|
760
760
|
else
|
761
|
-
html_options = html_options_for_form_with(url, model, options)
|
761
|
+
html_options = html_options_for_form_with(url, model, **options)
|
762
762
|
form_tag_html(html_options)
|
763
763
|
end
|
764
764
|
end
|
@@ -31,7 +31,7 @@ module ActionView
|
|
31
31
|
if javascript.empty?
|
32
32
|
result = ""
|
33
33
|
else
|
34
|
-
result = javascript.gsub(/(\\|<\/|\r\n|\342\200\250|\342\200\251|[\n\r"']|[`]|[$])/u
|
34
|
+
result = javascript.gsub(/(\\|<\/|\r\n|\342\200\250|\342\200\251|[\n\r"']|[`]|[$])/u, JS_ESCAPE_MAP)
|
35
35
|
end
|
36
36
|
javascript.html_safe? ? result.html_safe : result
|
37
37
|
end
|
@@ -57,7 +57,7 @@ module ActionView
|
|
57
57
|
#
|
58
58
|
# number_to_phone(75561234567, pattern: /(\d{1,4})(\d{4})(\d{4})$/, area_code: true)
|
59
59
|
# # => "(755) 6123-4567"
|
60
|
-
# number_to_phone(13312345678, pattern: /(\d{3})(\d{4})(\d{4})$/)
|
60
|
+
# number_to_phone(13312345678, pattern: /(\d{3})(\d{4})(\d{4})$/)
|
61
61
|
# # => "133-1234-5678"
|
62
62
|
def number_to_phone(number, options = {})
|
63
63
|
return unless number
|
@@ -114,6 +114,8 @@ module ActionView
|
|
114
114
|
#
|
115
115
|
# number_to_currency("123a456", raise: true) # => InvalidNumberError
|
116
116
|
#
|
117
|
+
# number_to_currency(-0.456789, precision: 0)
|
118
|
+
# # => "$0"
|
117
119
|
# number_to_currency(-1234567890.50, negative_format: "(%u%n)")
|
118
120
|
# # => ($1,234,567,890.50)
|
119
121
|
# number_to_currency(1234567890.50, unit: "R$", separator: ",", delimiter: "")
|
@@ -403,7 +405,6 @@ module ActionView
|
|
403
405
|
end
|
404
406
|
|
405
407
|
private
|
406
|
-
|
407
408
|
def delegate_number_helper_method(method, number, options)
|
408
409
|
return unless number
|
409
410
|
options = escape_unsafe_options(options.symbolize_keys)
|
@@ -107,8 +107,8 @@ module ActionView
|
|
107
107
|
true
|
108
108
|
end
|
109
109
|
|
110
|
-
def method_missing(called, *args, &block)
|
111
|
-
tag_string(called, *args, &block)
|
110
|
+
def method_missing(called, *args, **options, &block)
|
111
|
+
tag_string(called, *args, **options, &block)
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
@@ -57,8 +57,7 @@ module ActionView
|
|
57
57
|
# that include HTML tags so that you know what kind of output to expect
|
58
58
|
# when you call translate in a template and translators know which keys
|
59
59
|
# they can provide HTML values for.
|
60
|
-
def translate(key, options
|
61
|
-
options = options.dup
|
60
|
+
def translate(key, **options)
|
62
61
|
if options.has_key?(:default)
|
63
62
|
remaining_defaults = Array.wrap(options.delete(:default)).compact
|
64
63
|
options[:default] = remaining_defaults unless remaining_defaults.first.kind_of?(Symbol)
|
@@ -82,18 +81,18 @@ module ActionView
|
|
82
81
|
html_safe_options[name] = ERB::Util.html_escape(value.to_s)
|
83
82
|
end
|
84
83
|
end
|
85
|
-
translation = I18n.translate(scope_key_by_partial(key), html_safe_options.merge(raise: i18n_raise))
|
84
|
+
translation = I18n.translate(scope_key_by_partial(key), **html_safe_options.merge(raise: i18n_raise))
|
86
85
|
if translation.respond_to?(:map)
|
87
86
|
translation.map { |element| element.respond_to?(:html_safe) ? element.html_safe : element }
|
88
87
|
else
|
89
88
|
translation.respond_to?(:html_safe) ? translation.html_safe : translation
|
90
89
|
end
|
91
90
|
else
|
92
|
-
I18n.translate(scope_key_by_partial(key), options.merge(raise: i18n_raise))
|
91
|
+
I18n.translate(scope_key_by_partial(key), **options.merge(raise: i18n_raise))
|
93
92
|
end
|
94
93
|
rescue I18n::MissingTranslationData => e
|
95
94
|
if remaining_defaults.present?
|
96
|
-
translate remaining_defaults.shift, options.merge(default: remaining_defaults)
|
95
|
+
translate remaining_defaults.shift, **options.merge(default: remaining_defaults)
|
97
96
|
else
|
98
97
|
raise e if raise_error
|
99
98
|
|
@@ -116,8 +115,8 @@ module ActionView
|
|
116
115
|
#
|
117
116
|
# See https://www.rubydoc.info/github/svenfuchs/i18n/master/I18n/Backend/Base:localize
|
118
117
|
# for more information.
|
119
|
-
def localize(
|
120
|
-
I18n.localize(
|
118
|
+
def localize(object, **options)
|
119
|
+
I18n.localize(object, **options)
|
121
120
|
end
|
122
121
|
alias :l :localize
|
123
122
|
|
data/lib/action_view/layouts.rb
CHANGED
@@ -224,7 +224,6 @@ module ActionView
|
|
224
224
|
# that if no layout conditions are used, this method is not used
|
225
225
|
module LayoutConditions # :nodoc:
|
226
226
|
private
|
227
|
-
|
228
227
|
# Determines whether the current action has a layout definition by
|
229
228
|
# checking the action name against the :only and :except conditions
|
230
229
|
# set by the <tt>layout</tt> method.
|
@@ -334,7 +333,6 @@ module ActionView
|
|
334
333
|
end
|
335
334
|
|
336
335
|
private
|
337
|
-
|
338
336
|
# If no layout is supplied, look for a template named the return
|
339
337
|
# value of this method.
|
340
338
|
#
|
@@ -372,7 +370,6 @@ module ActionView
|
|
372
370
|
end
|
373
371
|
|
374
372
|
private
|
375
|
-
|
376
373
|
def _conditional_layout?
|
377
374
|
true
|
378
375
|
end
|
@@ -61,6 +61,7 @@ module ActionView
|
|
61
61
|
|
62
62
|
@details_keys = Concurrent::Map.new
|
63
63
|
@digest_cache = Concurrent::Map.new
|
64
|
+
@view_context_mutex = Mutex.new
|
64
65
|
|
65
66
|
def self.digest_cache(details)
|
66
67
|
@digest_cache[details_cache_key(details)] ||= Concurrent::Map.new
|
@@ -89,7 +90,9 @@ module ActionView
|
|
89
90
|
end
|
90
91
|
|
91
92
|
def self.view_context_class(klass)
|
92
|
-
@
|
93
|
+
@view_context_mutex.synchronize do
|
94
|
+
@view_context_class ||= klass.with_empty_template_cache
|
95
|
+
end
|
93
96
|
end
|
94
97
|
end
|
95
98
|
|
@@ -112,7 +115,6 @@ module ActionView
|
|
112
115
|
end
|
113
116
|
|
114
117
|
private
|
115
|
-
|
116
118
|
def _set_detail(key, value) # :doc:
|
117
119
|
@details = @details.dup if @digest_cache || @details_key
|
118
120
|
@digest_cache = nil
|
@@ -171,7 +173,6 @@ module ActionView
|
|
171
173
|
end
|
172
174
|
|
173
175
|
private
|
174
|
-
|
175
176
|
# Whenever setting view paths, makes a copy so that we can manipulate them in
|
176
177
|
# instance objects as we wish.
|
177
178
|
def build_view_paths(paths)
|
data/lib/action_view/path_set.rb
CHANGED
@@ -95,7 +95,6 @@ module ActionView
|
|
95
95
|
end
|
96
96
|
|
97
97
|
private
|
98
|
-
|
99
98
|
# Returns a string representation of the key attribute(s) that is suitable for use in an HTML DOM id.
|
100
99
|
# This can be overwritten to customize the default generated string representation if desired.
|
101
100
|
# If you need to read back a key from a dom_id in order to query for the underlying database record,
|
@@ -12,7 +12,7 @@ module ActionView
|
|
12
12
|
|
13
13
|
private
|
14
14
|
def cache_collection_render(instrumentation_payload, view, template)
|
15
|
-
return yield unless @options[:cached]
|
15
|
+
return yield unless @options[:cached] && view.controller.respond_to?(:perform_caching) && view.controller.perform_caching
|
16
16
|
|
17
17
|
# Result is a hash with the key represents the
|
18
18
|
# key used for cache lookup and the value is the item
|
@@ -27,7 +27,6 @@ module ActionView
|
|
27
27
|
end
|
28
28
|
|
29
29
|
private
|
30
|
-
|
31
30
|
# This is the same logging logic as in ShowExceptions middleware.
|
32
31
|
def log_error(exception)
|
33
32
|
logger = ActionView::Base.logger
|
@@ -55,7 +54,6 @@ module ActionView
|
|
55
54
|
end
|
56
55
|
|
57
56
|
private
|
58
|
-
|
59
57
|
def delayed_render(buffer, template, layout, view, locals)
|
60
58
|
# Wrap the given buffer in the StreamingBuffer and pass it to the
|
61
59
|
# underlying template handler. Now, every time something is concatenated
|
@@ -14,7 +14,6 @@ module ActionView
|
|
14
14
|
end
|
15
15
|
|
16
16
|
private
|
17
|
-
|
18
17
|
# Determine the template to be rendered using the given options.
|
19
18
|
def determine_template(options)
|
20
19
|
keys = options.has_key?(:locals) ? options[:locals].keys : []
|
@@ -96,7 +95,7 @@ module ActionView
|
|
96
95
|
end
|
97
96
|
rescue ActionView::MissingTemplate
|
98
97
|
all_details = @details.merge(formats: @lookup_context.default_formats)
|
99
|
-
raise unless template_exists?(layout, nil, false, [], all_details)
|
98
|
+
raise unless template_exists?(layout, nil, false, [], **all_details)
|
100
99
|
end
|
101
100
|
when Proc
|
102
101
|
resolve_layout(layout.call(@lookup_context, formats), keys, formats)
|
data/lib/action_view/template.rb
CHANGED
@@ -81,19 +81,19 @@ module ActionView
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
def source_extract(indentation = 0
|
85
|
-
return unless num = line_number
|
84
|
+
def source_extract(indentation = 0)
|
85
|
+
return [] unless num = line_number
|
86
86
|
num = num.to_i
|
87
87
|
|
88
|
-
source_code = @template.
|
88
|
+
source_code = @template.encode!.split("\n")
|
89
89
|
|
90
90
|
start_on_line = [ num - SOURCE_CODE_RADIUS - 1, 0 ].max
|
91
91
|
end_on_line = [ num + SOURCE_CODE_RADIUS - 1, source_code.length].min
|
92
92
|
|
93
93
|
indent = end_on_line.to_s.size + indentation
|
94
|
-
return unless source_code = source_code[start_on_line..end_on_line]
|
94
|
+
return [] unless source_code = source_code[start_on_line..end_on_line]
|
95
95
|
|
96
|
-
formatted_code_for(source_code, start_on_line, indent
|
96
|
+
formatted_code_for(source_code, start_on_line, indent)
|
97
97
|
end
|
98
98
|
|
99
99
|
def sub_template_of(template_path)
|
@@ -114,7 +114,6 @@ module ActionView
|
|
114
114
|
end
|
115
115
|
|
116
116
|
private
|
117
|
-
|
118
117
|
def source_location
|
119
118
|
if line_number
|
120
119
|
"on line ##{line_number} of "
|
@@ -123,15 +122,11 @@ module ActionView
|
|
123
122
|
end + file_name
|
124
123
|
end
|
125
124
|
|
126
|
-
def formatted_code_for(source_code, line_counter, indent
|
127
|
-
|
128
|
-
source_code.
|
125
|
+
def formatted_code_for(source_code, line_counter, indent)
|
126
|
+
indent_template = "%#{indent}s: %s"
|
127
|
+
source_code.map do |line|
|
129
128
|
line_counter += 1
|
130
|
-
|
131
|
-
result.update(line_counter.to_s => "%#{indent}s %s\n" % ["", line])
|
132
|
-
else
|
133
|
-
result << "%#{indent}s: %s" % [line_counter, line]
|
134
|
-
end
|
129
|
+
indent_template % [line_counter, line]
|
135
130
|
end
|
136
131
|
end
|
137
132
|
end
|
@@ -93,7 +93,6 @@ module ActionView
|
|
93
93
|
end
|
94
94
|
|
95
95
|
private
|
96
|
-
|
97
96
|
def canonical_no_templates(templates)
|
98
97
|
templates.empty? ? NO_TEMPLATES : templates
|
99
98
|
end
|
@@ -130,7 +129,6 @@ module ActionView
|
|
130
129
|
end
|
131
130
|
|
132
131
|
private
|
133
|
-
|
134
132
|
def _find_all(name, prefix, partial, details, key, locals)
|
135
133
|
find_templates(name, prefix, partial, details, locals)
|
136
134
|
end
|
@@ -183,7 +181,6 @@ module ActionView
|
|
183
181
|
end
|
184
182
|
|
185
183
|
private
|
186
|
-
|
187
184
|
def _find_all(name, prefix, partial, details, key, locals)
|
188
185
|
path = Path.build(name, prefix, partial)
|
189
186
|
query(path, details, details[:formats], locals, cache: !!key)
|
@@ -323,7 +320,6 @@ module ActionView
|
|
323
320
|
end
|
324
321
|
|
325
322
|
private
|
326
|
-
|
327
323
|
def find_template_paths_from_details(path, details)
|
328
324
|
# Instead of checking for every possible path, as our other globs would
|
329
325
|
# do, scan the directory for files with the right prefix.
|
@@ -358,7 +354,7 @@ module ActionView
|
|
358
354
|
end
|
359
355
|
|
360
356
|
def build_regex(path, details)
|
361
|
-
query =
|
357
|
+
query = Regexp.escape(File.join(@path, path))
|
362
358
|
exts = EXTENSIONS.map do |ext, prefix|
|
363
359
|
match =
|
364
360
|
if ext == :variants && details[ext] == :any
|
@@ -75,8 +75,9 @@ module ActionView
|
|
75
75
|
methods.flatten.each do |method|
|
76
76
|
_helpers.module_eval <<-end_eval, __FILE__, __LINE__ + 1
|
77
77
|
def #{method}(*args, &block) # def current_user(*args, &block)
|
78
|
-
_test_case.send(
|
78
|
+
_test_case.send(:'#{method}', *args, &block) # _test_case.send(:'current_user', *args, &block)
|
79
79
|
end # end
|
80
|
+
ruby2_keywords(:'#{method}') if respond_to?(:ruby2_keywords, true)
|
80
81
|
end_eval
|
81
82
|
end
|
82
83
|
end
|
@@ -93,7 +94,6 @@ module ActionView
|
|
93
94
|
end
|
94
95
|
|
95
96
|
private
|
96
|
-
|
97
97
|
def include_helper_modules!
|
98
98
|
helper(helper_class) if helper_class
|
99
99
|
include _helpers
|
@@ -163,7 +163,6 @@ module ActionView
|
|
163
163
|
end
|
164
164
|
|
165
165
|
private
|
166
|
-
|
167
166
|
# Need to experiment if this priority is the best one: rendered => output_buffer
|
168
167
|
def document_root_element
|
169
168
|
Nokogiri::HTML::Document.parse(@rendered.blank? ? @output_buffer : @rendered).root
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: actionview
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.3.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: 2020-
|
11
|
+
date: 2020-05-01 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: 6.0.
|
19
|
+
version: 6.0.3.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: 6.0.
|
26
|
+
version: 6.0.3.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: builder
|
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: 6.0.
|
95
|
+
version: 6.0.3.rc1
|
96
96
|
type: :development
|
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: 6.0.
|
102
|
+
version: 6.0.3.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: 6.0.
|
109
|
+
version: 6.0.3.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: 6.0.
|
116
|
+
version: 6.0.3.rc1
|
117
117
|
description: Simple, battle-tested conventions and helpers for building web pages.
|
118
118
|
email: david@loudthinking.com
|
119
119
|
executables: []
|
@@ -236,10 +236,10 @@ licenses:
|
|
236
236
|
- MIT
|
237
237
|
metadata:
|
238
238
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
239
|
-
changelog_uri: https://github.com/rails/rails/blob/v6.0.
|
240
|
-
documentation_uri: https://api.rubyonrails.org/v6.0.
|
241
|
-
mailing_list_uri: https://
|
242
|
-
source_code_uri: https://github.com/rails/rails/tree/v6.0.
|
239
|
+
changelog_uri: https://github.com/rails/rails/blob/v6.0.3.rc1/actionview/CHANGELOG.md
|
240
|
+
documentation_uri: https://api.rubyonrails.org/v6.0.3.rc1/
|
241
|
+
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
242
|
+
source_code_uri: https://github.com/rails/rails/tree/v6.0.3.rc1/actionview
|
243
243
|
post_install_message:
|
244
244
|
rdoc_options: []
|
245
245
|
require_paths:
|
@@ -251,12 +251,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
251
251
|
version: 2.5.0
|
252
252
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
253
253
|
requirements:
|
254
|
-
- - "
|
254
|
+
- - ">"
|
255
255
|
- !ruby/object:Gem::Version
|
256
|
-
version:
|
256
|
+
version: 1.3.1
|
257
257
|
requirements:
|
258
258
|
- none
|
259
|
-
rubygems_version: 3.
|
259
|
+
rubygems_version: 3.1.2
|
260
260
|
signing_key:
|
261
261
|
specification_version: 4
|
262
262
|
summary: Rendering framework putting the V in MVC (part of Rails).
|