view_component 2.79.0 → 2.81.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of view_component might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/controllers/concerns/view_component/preview_actions.rb +0 -6
- data/app/controllers/view_components_system_test_controller.rb +9 -0
- data/docs/CHANGELOG.md +32 -0
- data/lib/view_component/compiler.rb +0 -4
- data/lib/view_component/engine.rb +10 -4
- data/lib/view_component/test_helpers.rb +9 -7
- data/lib/view_component/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd53c4661f35fd92f4b4cf05bfcd8af23c5a4e6bd60b13a6af492393b75290fe
|
4
|
+
data.tar.gz: def906e9d722ffeb43fc79677c6c3613de4c9f7eec63eecc4d36f0feedfe5785
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f6c8525b8e0b1366e283b870deebc95ae0920c6910846a658590c8665239fbdc1c6f0ef1681c95ee811ac9d7a995a86f7cf6764cb61e636a8e8de305567f2a7
|
7
|
+
data.tar.gz: 447035b6780c59291f2014856703fc73d13838d4765f7185657e6f26b4be60937b561cafac7a994a68c12c68f10f7c0956948cd4c44355f3d0b875d85738e2d4
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rails/application_controller"
|
4
|
+
|
5
|
+
class ViewComponentsSystemTestController < Rails::ApplicationController # :nodoc:
|
6
|
+
def system_test_entrypoint
|
7
|
+
render file: "./tmp/view_components/#{params.permit(:file)[:file]}"
|
8
|
+
end
|
9
|
+
end
|
data/docs/CHANGELOG.md
CHANGED
@@ -10,6 +10,38 @@ nav_order: 5
|
|
10
10
|
|
11
11
|
## main
|
12
12
|
|
13
|
+
## 2.81.0
|
14
|
+
|
15
|
+
* Adjust the way response objects are set on the preview controller to work around a recent change in Rails main.
|
16
|
+
|
17
|
+
*Cameron Dutro*
|
18
|
+
|
19
|
+
* Fix typo in "Generate a Stimulus controller" documentation.
|
20
|
+
|
21
|
+
*Ben Trewern*
|
22
|
+
|
23
|
+
* Modify the `render_in_view_context` test helper to forward its args to the block.
|
24
|
+
|
25
|
+
*Cameron Dutro*
|
26
|
+
|
27
|
+
## 2.80.0
|
28
|
+
|
29
|
+
* Move system test endpoint out of the unrelated previews controller.
|
30
|
+
|
31
|
+
*Edwin Mak*
|
32
|
+
|
33
|
+
* Display Ruby 2.7 deprecation notice only once, when starting the application.
|
34
|
+
|
35
|
+
*Henrik Hauge Bjørnskov*
|
36
|
+
|
37
|
+
* Require Rails 5.2+ in gemspec and update documentation.
|
38
|
+
|
39
|
+
*Drew Bragg*
|
40
|
+
|
41
|
+
* Add documentation for using `with_rendered_component_path` with RSpec.
|
42
|
+
|
43
|
+
*Edwin Mak*
|
44
|
+
|
13
45
|
## 2.79.0
|
14
46
|
|
15
47
|
* Add ability to pass explicit `preview_path` to preview generator.
|
@@ -30,10 +30,6 @@ module ViewComponent
|
|
30
30
|
return if compiled? && !force
|
31
31
|
return if component_class == ViewComponent::Base
|
32
32
|
|
33
|
-
if RUBY_VERSION < "2.7.0"
|
34
|
-
ViewComponent::Deprecation.deprecation_warning("Support for Ruby versions < 2.7.0")
|
35
|
-
end
|
36
|
-
|
37
33
|
component_class.superclass.compile(raise_errors: raise_errors) if should_compile_superclass?
|
38
34
|
subclass_instance_methods = component_class.instance_methods(false)
|
39
35
|
|
@@ -121,10 +121,6 @@ module ViewComponent
|
|
121
121
|
internal: true
|
122
122
|
)
|
123
123
|
|
124
|
-
if Rails.env.test?
|
125
|
-
get("_system_test_entrypoint", to: "#{preview_controller}#system_test_entrypoint")
|
126
|
-
end
|
127
|
-
|
128
124
|
get(
|
129
125
|
"#{options.preview_route}/*path",
|
130
126
|
to: "#{preview_controller}#previews",
|
@@ -134,6 +130,12 @@ module ViewComponent
|
|
134
130
|
end
|
135
131
|
end
|
136
132
|
|
133
|
+
if Rails.env.test?
|
134
|
+
app.routes.prepend do
|
135
|
+
get("_system_test_entrypoint", to: "view_components_system_test#system_test_entrypoint")
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
137
139
|
app.executor.to_run :before do
|
138
140
|
CompileCache.invalidate! unless ActionView::Base.cache_template_loading
|
139
141
|
end
|
@@ -141,6 +143,10 @@ module ViewComponent
|
|
141
143
|
end
|
142
144
|
end
|
143
145
|
|
146
|
+
if RUBY_VERSION < "2.7.0"
|
147
|
+
ViewComponent::Deprecation.deprecation_warning("Support for Ruby versions < 2.7.0")
|
148
|
+
end
|
149
|
+
|
144
150
|
# :nocov:
|
145
151
|
unless defined?(ViewComponent::Base)
|
146
152
|
require "view_component/deprecation"
|
@@ -91,7 +91,7 @@ module ViewComponent
|
|
91
91
|
end
|
92
92
|
|
93
93
|
previews_controller.request.params[:path] = "#{from.preview_name}/#{name}"
|
94
|
-
previews_controller.
|
94
|
+
previews_controller.set_response!(ActionDispatch::Response.new)
|
95
95
|
result = previews_controller.previews
|
96
96
|
|
97
97
|
@rendered_content = result
|
@@ -99,21 +99,23 @@ module ViewComponent
|
|
99
99
|
Nokogiri::HTML.fragment(@rendered_content)
|
100
100
|
end
|
101
101
|
|
102
|
-
# Execute the given block in the view context
|
103
|
-
# `Capybara::Node::Simple`, allowing for
|
102
|
+
# Execute the given block in the view context (using `instance_exec`).
|
103
|
+
# Internally sets `page` to be a `Capybara::Node::Simple`, allowing for
|
104
|
+
# Capybara assertions to be used. All arguments are forwarded to the block.
|
104
105
|
#
|
105
106
|
# ```ruby
|
106
|
-
# render_in_view_context do
|
107
|
-
# render(MyComponent.new)
|
107
|
+
# render_in_view_context(arg1, arg2:) do |arg1, arg2:|
|
108
|
+
# render(MyComponent.new(arg1, arg2))
|
108
109
|
# end
|
109
110
|
#
|
110
111
|
# assert_text("Hello, World!")
|
111
112
|
# ```
|
112
|
-
def render_in_view_context(&block)
|
113
|
+
def render_in_view_context(*args, &block)
|
113
114
|
@page = nil
|
114
|
-
@rendered_content = controller.view_context.instance_exec(&block)
|
115
|
+
@rendered_content = controller.view_context.instance_exec(*args, &block)
|
115
116
|
Nokogiri::HTML.fragment(@rendered_content)
|
116
117
|
end
|
118
|
+
ruby2_keywords(:render_in_view_context) if respond_to?(:ruby2_keywords, true)
|
117
119
|
|
118
120
|
# @private
|
119
121
|
def controller
|
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.81.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ViewComponent Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 5.
|
19
|
+
version: 5.2.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '8.0'
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 5.
|
29
|
+
version: 5.2.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '8.0'
|
@@ -322,6 +322,7 @@ files:
|
|
322
322
|
- app/assets/vendor/prism.min.js
|
323
323
|
- app/controllers/concerns/view_component/preview_actions.rb
|
324
324
|
- app/controllers/view_components_controller.rb
|
325
|
+
- app/controllers/view_components_system_test_controller.rb
|
325
326
|
- app/helpers/preview_helper.rb
|
326
327
|
- app/views/test_mailer/test_email.html.erb
|
327
328
|
- app/views/view_components/_preview_source.html.erb
|