view_component 2.5.1 → 2.10.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 +38 -0
- data/README.md +317 -213
- data/app/controllers/{rails/view_components_controller.rb → view_components_controller.rb} +4 -11
- data/app/views/view_components/index.html.erb +8 -0
- data/app/views/view_components/preview.html.erb +1 -0
- data/{lib/railties/lib/rails/templates/rails/components → app/views/view_components}/previews.html.erb +1 -1
- data/lib/view_component/base.rb +136 -38
- data/lib/view_component/collection.rb +5 -3
- data/lib/view_component/compile_cache.rb +24 -0
- data/lib/view_component/engine.rb +7 -2
- data/lib/view_component/preview.rb +1 -0
- data/lib/view_component/previewable.rb +10 -0
- data/lib/view_component/test_helpers.rb +5 -3
- data/lib/view_component/version.rb +2 -2
- metadata +37 -9
- data/lib/railties/lib/rails.rb +0 -5
- data/lib/railties/lib/rails/templates/rails/components/index.html.erb +0 -8
- data/lib/railties/lib/rails/templates/rails/components/preview.html.erb +0 -1
@@ -23,6 +23,7 @@ module ViewComponent # :nodoc:
|
|
23
23
|
example_params_names = instance_method(example).parameters.map(&:last)
|
24
24
|
provided_params = params.slice(*example_params_names).to_h.symbolize_keys
|
25
25
|
result = provided_params.empty? ? new.public_send(example) : new.public_send(example, **provided_params)
|
26
|
+
@layout = nil unless defined?(@layout)
|
26
27
|
result.merge(layout: @layout)
|
27
28
|
end
|
28
29
|
|
@@ -20,6 +20,16 @@ module ViewComponent # :nodoc:
|
|
20
20
|
# Defaults to +true+ for development environment
|
21
21
|
#
|
22
22
|
mattr_accessor :show_previews, instance_writer: false
|
23
|
+
|
24
|
+
# Set the entry route for component previews through app configuration:
|
25
|
+
#
|
26
|
+
# config.view_component.preview_route = "/previews"
|
27
|
+
#
|
28
|
+
# Defaults to +/rails/view_components+ when `show_previews' is enabled
|
29
|
+
#
|
30
|
+
mattr_accessor :preview_route, instance_writer: false do
|
31
|
+
"/rails/view_components"
|
32
|
+
end
|
23
33
|
end
|
24
34
|
end
|
25
35
|
end
|
@@ -7,7 +7,7 @@ module ViewComponent
|
|
7
7
|
include Capybara::Minitest::Assertions
|
8
8
|
|
9
9
|
def page
|
10
|
-
Capybara::Node::Simple.new(@
|
10
|
+
Capybara::Node::Simple.new(@rendered_component)
|
11
11
|
end
|
12
12
|
|
13
13
|
def refute_component_rendered
|
@@ -17,10 +17,12 @@ module ViewComponent
|
|
17
17
|
warn "WARNING in `ViewComponent::TestHelpers`: You must add `capybara` to your Gemfile to use Capybara assertions."
|
18
18
|
end
|
19
19
|
|
20
|
+
attr_reader :rendered_component
|
21
|
+
|
20
22
|
def render_inline(component, **args, &block)
|
21
|
-
@
|
23
|
+
@rendered_component = controller.view_context.render(component, args, &block)
|
22
24
|
|
23
|
-
Nokogiri::HTML.fragment(@
|
25
|
+
Nokogiri::HTML.fragment(@rendered_component)
|
24
26
|
end
|
25
27
|
|
26
28
|
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.10.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-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -64,14 +64,14 @@ dependencies:
|
|
64
64
|
requirements:
|
65
65
|
- - '='
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: 5.
|
67
|
+
version: 5.6.0
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - '='
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: 5.
|
74
|
+
version: 5.6.0
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: haml
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,6 +142,34 @@ dependencies:
|
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: 0.13.0
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: simplecov
|
147
|
+
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: 0.18.0
|
152
|
+
type: :development
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 0.18.0
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: simplecov-erb
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0.1'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0.1'
|
145
173
|
description:
|
146
174
|
email:
|
147
175
|
- opensource+view_component@github.com
|
@@ -152,7 +180,10 @@ files:
|
|
152
180
|
- CHANGELOG.md
|
153
181
|
- LICENSE.txt
|
154
182
|
- README.md
|
155
|
-
- app/controllers/
|
183
|
+
- app/controllers/view_components_controller.rb
|
184
|
+
- app/views/view_components/index.html.erb
|
185
|
+
- app/views/view_components/preview.html.erb
|
186
|
+
- app/views/view_components/previews.html.erb
|
156
187
|
- lib/rails/generators/component/USAGE
|
157
188
|
- lib/rails/generators/component/component_generator.rb
|
158
189
|
- lib/rails/generators/component/templates/component.rb.tt
|
@@ -166,13 +197,10 @@ files:
|
|
166
197
|
- lib/rails/generators/slim/templates/component.html.slim.tt
|
167
198
|
- lib/rails/generators/test_unit/component_generator.rb
|
168
199
|
- lib/rails/generators/test_unit/templates/component_test.rb.tt
|
169
|
-
- lib/railties/lib/rails.rb
|
170
|
-
- lib/railties/lib/rails/templates/rails/components/index.html.erb
|
171
|
-
- lib/railties/lib/rails/templates/rails/components/preview.html.erb
|
172
|
-
- lib/railties/lib/rails/templates/rails/components/previews.html.erb
|
173
200
|
- lib/view_component.rb
|
174
201
|
- lib/view_component/base.rb
|
175
202
|
- lib/view_component/collection.rb
|
203
|
+
- lib/view_component/compile_cache.rb
|
176
204
|
- lib/view_component/engine.rb
|
177
205
|
- lib/view_component/preview.rb
|
178
206
|
- lib/view_component/previewable.rb
|
data/lib/railties/lib/rails.rb
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
<% @previews.each do |preview| %>
|
2
|
-
<h3><%= link_to preview.preview_name.titleize, "/rails/view_components/#{preview.preview_name}" %></h3>
|
3
|
-
<ul>
|
4
|
-
<% preview.examples.each do |preview_example| %>
|
5
|
-
<li><%= link_to preview_example, "/rails/view_components/#{preview.preview_name}/#{preview_example}" %></li>
|
6
|
-
<% end %>
|
7
|
-
</ul>
|
8
|
-
<% end %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= render(@render_args[:component], **@render_args[:args], &@render_args[:block])%>
|