view_component 2.48.0 → 2.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of view_component might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/docs/CHANGELOG.md +30 -0
- data/lib/view_component/base.rb +1 -1
- data/lib/view_component/instrumentation.rb +5 -3
- data/lib/view_component/translatable.rb +16 -12
- data/lib/view_component/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8feda954b97fc366da967bee72554a1975a40f50aef0cbd1cde6f83f97547d49
|
4
|
+
data.tar.gz: 92312db0824d58d24ee8f74f56c3a14e961f03fc71bb1669b1a529fedfb225f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ff56022e2212300d6ae5f8ea8700364fc5675354476b1830e05885c6f4beff3f7b75d6733531eea10aa1b0830917e025686bf17af89606ed2e457aaf1004f73
|
7
|
+
data.tar.gz: 5d8dddd267a4a627af6ba0a07507d9d0c2dd2ae38da92f542a690e2fa3052bdc56aa37488e1fde440c9a064b825f0ef1db3ec838f06eba4a4598b4e8c95e315f
|
data/docs/CHANGELOG.md
CHANGED
@@ -7,6 +7,36 @@ title: Changelog
|
|
7
7
|
|
8
8
|
## main
|
9
9
|
|
10
|
+
## 2.49.0
|
11
|
+
|
12
|
+
* Fix path handling for evaluated view components that broke in Ruby 3.1.
|
13
|
+
|
14
|
+
*Adam Hess*
|
15
|
+
|
16
|
+
* Fix support for the `default:` option for a global translation.
|
17
|
+
|
18
|
+
*Elia Schito*
|
19
|
+
|
20
|
+
* Ensure i18n scope is a symbol to protect lookups.
|
21
|
+
|
22
|
+
*Simon Fish*
|
23
|
+
|
24
|
+
* Small update to preview docs to include rspec mention.
|
25
|
+
|
26
|
+
*Leigh Halliday*
|
27
|
+
|
28
|
+
* Small improvements to collection iteration docs.
|
29
|
+
|
30
|
+
*Brian O'Rourke*
|
31
|
+
|
32
|
+
* Add good and bad examples to `ViewComponents in practice`.
|
33
|
+
|
34
|
+
*Joel Hawksley*
|
35
|
+
|
36
|
+
* Add Ruby 3.1 and Rails 7.0 to CI
|
37
|
+
|
38
|
+
*Peter Goldstein*
|
39
|
+
|
10
40
|
## 2.48.0
|
11
41
|
|
12
42
|
* Correct path in example test command in Contributing docs.
|
data/lib/view_component/base.rb
CHANGED
@@ -401,7 +401,7 @@ module ViewComponent
|
|
401
401
|
# Derive the source location of the component Ruby file from the call stack.
|
402
402
|
# We need to ignore `inherited` frames here as they indicate that `inherited`
|
403
403
|
# has been re-defined by the consuming application, likely in ApplicationComponent.
|
404
|
-
child.source_location = caller_locations(1, 10).reject { |l| l.label == "inherited" }[0].
|
404
|
+
child.source_location = caller_locations(1, 10).reject { |l| l.label == "inherited" }[0].path
|
405
405
|
|
406
406
|
# Removes the first part of the path and the extension.
|
407
407
|
child.virtual_path = child.source_location.gsub(
|
@@ -5,14 +5,16 @@ require "active_support/notifications"
|
|
5
5
|
module ViewComponent # :nodoc:
|
6
6
|
module Instrumentation
|
7
7
|
def self.included(mod)
|
8
|
-
mod.prepend(self)
|
8
|
+
mod.prepend(self) unless ancestors.include?(ViewComponent::Instrumentation)
|
9
9
|
end
|
10
10
|
|
11
11
|
def render_in(view_context, &block)
|
12
12
|
ActiveSupport::Notifications.instrument(
|
13
13
|
"!render.view_component",
|
14
|
-
|
15
|
-
|
14
|
+
{
|
15
|
+
name: self.class.name,
|
16
|
+
identifier: self.class.identifier
|
17
|
+
}
|
16
18
|
) do
|
17
19
|
super(view_context, &block)
|
18
20
|
end
|
@@ -41,7 +41,7 @@ module ViewComponent
|
|
41
41
|
EMPTY_HASH = {}.freeze
|
42
42
|
|
43
43
|
def initialize(i18n_scope:, load_paths:)
|
44
|
-
@i18n_scope = i18n_scope.split(".")
|
44
|
+
@i18n_scope = i18n_scope.split(".").map(&:to_sym)
|
45
45
|
@load_paths = load_paths
|
46
46
|
end
|
47
47
|
|
@@ -70,21 +70,25 @@ module ViewComponent
|
|
70
70
|
key = key&.to_s unless key.is_a?(String)
|
71
71
|
key = "#{i18n_scope}#{key}" if key.start_with?(".")
|
72
72
|
|
73
|
-
|
74
|
-
|
75
|
-
|
73
|
+
if key.start_with?(i18n_scope + ".")
|
74
|
+
translated =
|
75
|
+
catch(:exception) do
|
76
|
+
i18n_backend.translate(locale, key, options)
|
77
|
+
end
|
78
|
+
|
79
|
+
# Fallback to the global translations
|
80
|
+
if translated.is_a? ::I18n::MissingTranslation
|
81
|
+
return super(key, locale: locale, **options)
|
76
82
|
end
|
77
83
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
end
|
84
|
+
if HTML_SAFE_TRANSLATION_KEY.match?(key)
|
85
|
+
translated = translated.html_safe # rubocop:disable Rails/OutputSafety
|
86
|
+
end
|
82
87
|
|
83
|
-
|
84
|
-
|
88
|
+
translated
|
89
|
+
else
|
90
|
+
super(key, locale: locale, **options)
|
85
91
|
end
|
86
|
-
|
87
|
-
translated
|
88
92
|
end
|
89
93
|
alias :t :translate
|
90
94
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: view_component
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.49.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GitHub Open Source
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -373,7 +373,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
373
373
|
- !ruby/object:Gem::Version
|
374
374
|
version: '0'
|
375
375
|
requirements: []
|
376
|
-
rubygems_version: 3.
|
376
|
+
rubygems_version: 3.3.3
|
377
377
|
signing_key:
|
378
378
|
specification_version: 4
|
379
379
|
summary: View components for Rails
|