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.

@@ -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(@raw)
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
- @raw = controller.view_context.render(component, args, &block)
23
+ @rendered_component = controller.view_context.render(component, args, &block)
22
24
 
23
- Nokogiri::HTML.fragment(@raw)
25
+ Nokogiri::HTML.fragment(@rendered_component)
24
26
  end
25
27
 
26
28
  def controller
@@ -3,8 +3,8 @@
3
3
  module ViewComponent
4
4
  module VERSION
5
5
  MAJOR = 2
6
- MINOR = 5
7
- PATCH = 1
6
+ MINOR = 10
7
+ PATCH = 0
8
8
 
9
9
  STRING = [MAJOR, MINOR, PATCH].join(".")
10
10
  end
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.5.1
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-04-21 00:00:00.000000000 Z
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.1.0
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.1.0
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/rails/view_components_controller.rb
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
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Rails
4
- autoload :ComponentsController
5
- end
@@ -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])%>