lookbook 0.7.2.beta.3 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 852092ae163c9f99f18df3ac6ccd9c54fa41050d9eab7c6ce193404af3a73978
4
- data.tar.gz: 47b59f02f782fc536e68cb016ab9d8effe26c58957a6e273568deebdd00217cb
3
+ metadata.gz: 6df32e43d6fbb0a7b88e0db9bbb4bd9562f3528f3a7160463d078daf262954f3
4
+ data.tar.gz: cfbd08c5a4d06a56ef8bd9016139e3d04a4195e2590d5be741e1c238ce390744
5
5
  SHA512:
6
- metadata.gz: e1e15295d9ee395d05b2971f4441387219d99b358020ff4a83816229ce2ca63ac3c30f5d2c74938c37bcff579abc34105caa37ed38183f7e3888b176c62f0fb9
7
- data.tar.gz: 8ac54bd1cf4d4044c9ff037cc1ccf44fd6d674fbb643e35aa1b98e729eaa5dbc8636233bc7461ab0670ecdfc1cfd5ed9251dd03d86ede5595a0274f3db01581a
6
+ metadata.gz: bd42877713e33dc0ad3d1bf4fddc1ab561171d01417f6b415ceda15abeeba45996c9e0478afb02117363a1686b063daf1e283ff0f84c6d0b591c59c50e0ba744
7
+ data.tar.gz: e12acc1799810736e3f5bad6e3d096f7c1f68ddb0de5b0d1aa0324f1b7b0bd707d733750c5ed8a56cb3ab87d921036cd7b340927971186f98bbf5a402d41acf0
@@ -66,7 +66,7 @@ module Lookbook
66
66
  {
67
67
  label: example.label,
68
68
  notes: example.notes,
69
- html: preview_controller.render_example_to_string(@preview, example.name),
69
+ html: preview_controller.process(:render_example_to_string, @preview, example.name),
70
70
  source: has_template ? example.template_source(render_args[:template]) : example.method_source,
71
71
  source_lang: has_template ? example.template_lang(render_args[:template]) : example.source_lang,
72
72
  params: example.params
@@ -74,7 +74,7 @@ module Lookbook
74
74
  end
75
75
 
76
76
  def render_examples(examples)
77
- preview_controller.render_in_layout_to_string("layouts/lookbook/preview", {examples: examples}, @preview.layout)
77
+ preview_controller.process(:render_in_layout_to_string, "layouts/lookbook/preview", {examples: examples}, @preview.layout)
78
78
  end
79
79
 
80
80
  def set_params
@@ -167,7 +167,6 @@ module Lookbook
167
167
  message_parts = exception.message.split("\n").first.split
168
168
  component_class = message_parts.first.constantize
169
169
  naughty_method = message_parts.last.delete("#").delete("`").delete(".")
170
- p naughty_method
171
170
  method = component_class.instance_method(naughty_method.to_sym)
172
171
  if method
173
172
  {
@@ -87,29 +87,22 @@ module Lookbook
87
87
  parser.parse
88
88
  rescue
89
89
  end
90
- if Lookbook::Engine.websocket
91
- if modified.any? || removed.any? || added.none?
92
- Lookbook::Engine.websocket.broadcast("reload", {
93
- modified: modified,
94
- removed: removed,
95
- added: added
96
- })
97
- end
98
- end
90
+ Lookbook::Preview.clear_cache
91
+ Lookbook::Engine.websocket&.broadcast("reload", {
92
+ modified: modified,
93
+ removed: removed,
94
+ added: added
95
+ })
99
96
  end
100
97
  @preview_listener.start
101
98
 
102
99
  if Lookbook::Features.enabled?(:pages)
103
100
  @page_listener = Listen.to(*config.lookbook.page_paths.filter { |dir| Dir.exist? dir }, only: /\.(html.*|md.*)$/) do |modified, added, removed|
104
- if Lookbook::Engine.websocket
105
- if modified.any? || removed.any? || added.any?
106
- Lookbook::Engine.websocket.broadcast("reload", {
107
- modified: modified,
108
- removed: removed,
109
- added: added
110
- })
111
- end
112
- end
101
+ Lookbook::Engine.websocket&.broadcast("reload", {
102
+ modified: modified,
103
+ removed: removed,
104
+ added: added
105
+ })
113
106
  end
114
107
  @page_listener.start
115
108
  end
@@ -96,9 +96,15 @@ module Lookbook
96
96
  !!find(path)
97
97
  end
98
98
 
99
+ def clear_cache
100
+ @previews = nil
101
+ end
102
+
99
103
  def all
100
104
  load_previews if preview_files.size > ViewComponent::Preview.descendants.size
101
105
 
106
+ return @previews if @previews.present?
107
+
102
108
  previews = ViewComponent::Preview.descendants.map do |p|
103
109
  new(p)
104
110
  rescue
@@ -112,7 +118,7 @@ module Lookbook
112
118
  end
113
119
 
114
120
  sorted_previews = previews.compact.sort_by { |preview| [preview.position, preview.label] }
115
- PreviewCollection.new(sorted_previews)
121
+ @previews ||= PreviewCollection.new(sorted_previews)
116
122
  end
117
123
 
118
124
  def errors
@@ -125,7 +131,7 @@ module Lookbook
125
131
  @errors = []
126
132
  preview_files.each do |file|
127
133
  require_dependency file[:path]
128
- rescue => exception
134
+ rescue SyntaxError, StandardError => exception
129
135
  @errors.push(
130
136
  Lookbook::Error.new(exception,
131
137
  title: "Preview #{exception.class}",
@@ -11,12 +11,12 @@ module Lookbook
11
11
  opts = {}
12
12
  opts[:layout] = nil
13
13
  opts[:locals] = locals if locals.present?
14
- render_to_string template, opts
14
+ render html: render_to_string(template, **opts)
15
15
  end
16
16
 
17
17
  def render_in_layout_to_string(template, locals, layout = nil)
18
18
  append_view_path Lookbook::Engine.root.join("app/views")
19
- render_to_string template, locals: locals, **determine_layout(layout)
19
+ render html: render_to_string(template, locals: locals, **determine_layout(layout))
20
20
  end
21
21
  end
22
22
  end
@@ -31,7 +31,11 @@ module Lookbook
31
31
  end
32
32
 
33
33
  def display_params
34
- {}
34
+ merged = {}
35
+ examples.reverse.map do |example|
36
+ merged.merge! example.display_params
37
+ end
38
+ merged
35
39
  end
36
40
 
37
41
  def hidden?
@@ -1,3 +1,3 @@
1
1
  module Lookbook
2
- VERSION = "0.7.2.beta.3"
2
+ VERSION = "0.7.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lookbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2.beta.3
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Perkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-02 00:00:00.000000000 Z
11
+ date: 2022-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actioncable
@@ -325,9 +325,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
325
325
  version: '0'
326
326
  required_rubygems_version: !ruby/object:Gem::Requirement
327
327
  requirements:
328
- - - ">"
328
+ - - ">="
329
329
  - !ruby/object:Gem::Version
330
- version: 1.3.1
330
+ version: '0'
331
331
  requirements: []
332
332
  rubygems_version: 3.2.22
333
333
  signing_key: