view_component 2.12.0 → 2.13.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/CHANGELOG.md +6 -0
- data/README.md +17 -0
- data/lib/view_component/base.rb +3 -0
- data/lib/view_component/engine.rb +26 -11
- data/lib/view_component/render_component_helper.rb +9 -0
- data/lib/view_component/render_component_to_string_helper.rb +9 -0
- data/lib/view_component/rendering_component_helper.rb +9 -0
- data/lib/view_component/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3950532a26d2d6d1ddcf412383bfd9cde269c1f69c3d6f7f03dd4e51e7d638e2
|
4
|
+
data.tar.gz: ee2524ef62b335376287f30709e62f2d39a71e43c0f5ec9853db8142b6c8fb3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4cc6925445d3486e4c9a6ef915254cf3f28d973ad6a2876fca4fe3435b19ac273f18e89432622eaa38c8bba22ab9e9cafa07e417299dab8537848742175d1c8
|
7
|
+
data.tar.gz: 66d2a44a74a07e78f694adc4790218ee7a9d729e8cd8bb9546d154669a79d5abaa20e7d0bffa0801dfc276ef539b93d5a13dd2b4d3d3093cd8d806972d2dac81
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# master
|
2
2
|
|
3
|
+
# 2.13.0
|
4
|
+
|
5
|
+
* Add the ability to disable the render monkey patch with `config.view_component.render_monkey_patch_enabled`. In versions of Rails < 6.1, add `render_component` and `render_component_to_string` methods which can be used for rendering components instead of `render`.
|
6
|
+
|
7
|
+
*Johannes Engl*
|
8
|
+
|
3
9
|
# 2.12.0
|
4
10
|
|
5
11
|
* Implement Slots as potential successor to Content Areas.
|
data/README.md
CHANGED
@@ -711,6 +711,18 @@ To use component previews:
|
|
711
711
|
config.view_component.preview_path = "#{Rails.root}/spec/components/previews"
|
712
712
|
```
|
713
713
|
|
714
|
+
### Disabling the render monkey patch (Rails < 6.1)
|
715
|
+
|
716
|
+
In order to [avoid conflicts](https://github.com/github/view_component/issues/288) between ViewComponent and other gems that also monkey patch the `render` method, it is possible to configure ViewComponent to not include the render monkey patch:
|
717
|
+
|
718
|
+
`config.view_component.render_monkey_patch_enabled = false # defaults to true`
|
719
|
+
|
720
|
+
With the monkey patch disabled, use `render_component` (or `render_component_to_string`) instead:
|
721
|
+
|
722
|
+
```
|
723
|
+
<%= render_component Component.new(message: "bar") %>
|
724
|
+
```
|
725
|
+
|
714
726
|
### Sidecar assets (experimental)
|
715
727
|
|
716
728
|
It’s possible to include Javascript and CSS alongside components, sometimes called "sidecar" assets or files.
|
@@ -917,6 +929,11 @@ ViewComponent is built by:
|
|
917
929
|
|@maxbeizer|@franco|@tbroad-ramsey|@jensljungblad|@bbugh|
|
918
930
|
|Nashville, TN|Switzerland|Spring Hill, TN|New York, NY|Austin, TX|
|
919
931
|
|
932
|
+
|<img src="https://avatars.githubusercontent.com/johannesengl?s=256" alt="johannesengl" width="128" />|
|
933
|
+
|:---:|
|
934
|
+
|@johannesengl|
|
935
|
+
|Berlin, Germany|
|
936
|
+
|
920
937
|
## License
|
921
938
|
|
922
939
|
ViewComponent is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
data/lib/view_component/base.rb
CHANGED
@@ -162,6 +162,9 @@ module ViewComponent
|
|
162
162
|
mattr_accessor :test_controller
|
163
163
|
@@test_controller = "ApplicationController"
|
164
164
|
|
165
|
+
# Configure if render monkey patches should be included or not in Rails <6.1.
|
166
|
+
mattr_accessor :render_monkey_patch_enabled, instance_writer: false, default: true
|
167
|
+
|
165
168
|
class << self
|
166
169
|
attr_accessor :source_location
|
167
170
|
|
@@ -10,6 +10,7 @@ module ViewComponent
|
|
10
10
|
initializer "view_component.set_configs" do |app|
|
11
11
|
options = app.config.view_component
|
12
12
|
|
13
|
+
options.render_monkey_patch_enabled = true if options.render_monkey_patch_enabled.nil?
|
13
14
|
options.show_previews = Rails.env.development? if options.show_previews.nil?
|
14
15
|
options.preview_route ||= ViewComponent::Base.preview_route
|
15
16
|
|
@@ -42,21 +43,35 @@ module ViewComponent
|
|
42
43
|
end
|
43
44
|
end
|
44
45
|
|
45
|
-
initializer "view_component.monkey_patch_render" do
|
46
|
+
initializer "view_component.monkey_patch_render" do |app|
|
47
|
+
next if Rails.version.to_f >= 6.1 || !app.config.view_component.render_monkey_patch_enabled
|
48
|
+
|
46
49
|
ActiveSupport.on_load(:action_view) do
|
47
|
-
|
48
|
-
|
49
|
-
ActionView::Base.prepend ViewComponent::RenderMonkeyPatch
|
50
|
-
end
|
50
|
+
require "view_component/render_monkey_patch"
|
51
|
+
ActionView::Base.prepend ViewComponent::RenderMonkeyPatch
|
51
52
|
end
|
52
53
|
|
53
54
|
ActiveSupport.on_load(:action_controller) do
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
55
|
+
require "view_component/rendering_monkey_patch"
|
56
|
+
require "view_component/render_to_string_monkey_patch"
|
57
|
+
ActionController::Base.prepend ViewComponent::RenderingMonkeyPatch
|
58
|
+
ActionController::Base.prepend ViewComponent::RenderToStringMonkeyPatch
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
initializer "view_component.include_render_component" do |app|
|
63
|
+
next if Rails.version.to_f >= 6.1
|
64
|
+
|
65
|
+
ActiveSupport.on_load(:action_view) do
|
66
|
+
require "view_component/render_component_helper"
|
67
|
+
ActionView::Base.include ViewComponent::RenderComponentHelper
|
68
|
+
end
|
69
|
+
|
70
|
+
ActiveSupport.on_load(:action_controller) do
|
71
|
+
require "view_component/rendering_component_helper"
|
72
|
+
require "view_component/render_component_to_string_helper"
|
73
|
+
ActionController::Base.include ViewComponent::RenderingComponentHelper
|
74
|
+
ActionController::Base.include ViewComponent::RenderComponentToStringHelper
|
60
75
|
end
|
61
76
|
end
|
62
77
|
|
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.13.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: 2020-
|
11
|
+
date: 2020-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -204,8 +204,11 @@ files:
|
|
204
204
|
- lib/view_component/engine.rb
|
205
205
|
- lib/view_component/preview.rb
|
206
206
|
- lib/view_component/previewable.rb
|
207
|
+
- lib/view_component/render_component_helper.rb
|
208
|
+
- lib/view_component/render_component_to_string_helper.rb
|
207
209
|
- lib/view_component/render_monkey_patch.rb
|
208
210
|
- lib/view_component/render_to_string_monkey_patch.rb
|
211
|
+
- lib/view_component/rendering_component_helper.rb
|
209
212
|
- lib/view_component/rendering_monkey_patch.rb
|
210
213
|
- lib/view_component/slot.rb
|
211
214
|
- lib/view_component/slotable.rb
|