completion-kit 0.5.22 → 0.5.23

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3849ee4680223b7e395bf66c8bf99c69fe58e297571d82c7d0e4785c6f20e9ff
4
- data.tar.gz: 66a2b835cd71061fba1587d27d37b7729c996f4218514ad33e5046c265598703
3
+ metadata.gz: 3f3a33489dfdc8c4b5744b3d04ef7f1fbb7d4c257e6198e1213b2a6508247a05
4
+ data.tar.gz: b9c96940b2b4954d707068bee76e6beee58ae19e3f20194cece5643e813fe3b5
5
5
  SHA512:
6
- metadata.gz: 527ec77e97348588f25383a84561a2659f47e9634c21ccb858ec298f12788cac44804616e28271831799bd8ed7be774511635f8579a8c096ecc581e9f1828457
7
- data.tar.gz: 99b245e3401f1eb5bc196c8704660de5928c12a193b8c1b01732d17e7ec5082d07b568e1bdb467986c26cc3adcbaaaae4af01f1f3e5cf46698b12f4ca2840df7
6
+ metadata.gz: d787d4f44220fd48907954c871b5576d10a4fcb3baf5a7d4106fcf9a30cf06563c3fad3a4e2cb3cf2027843b50b5fd52c1aadf0910fc402dbd04d14d54f73a8d
7
+ data.tar.gz: 7d24b2744b473e98403ff30b7c7bb664f1b1f76a72330a973f290b049b67c76ca6283d5f26dc32b70d0d4bce529bbf267d7dd3ff2d06febf1781b1bb5c2b05a8
@@ -128,6 +128,7 @@ module CompletionKit
128
128
  end
129
129
 
130
130
  def render_partial(partial, locals)
131
+ CompletionKit::Engine.warm_routes!
131
132
  CompletionKit::ApplicationController.render(partial: partial, locals: locals)
132
133
  end
133
134
  end
@@ -231,7 +231,7 @@ module CompletionKit
231
231
  end
232
232
 
233
233
  def render_engine_partial(partial, locals)
234
- CompletionKit::Engine.routes.url_helpers
234
+ CompletionKit::Engine.warm_routes!
235
235
  CompletionKit::ApplicationController.render(
236
236
  partial: partial,
237
237
  locals: locals
@@ -7,6 +7,21 @@ module CompletionKit
7
7
 
8
8
  paths.add "app/services", eager_load: true
9
9
 
10
+ ROUTES_WARMUP_LOCK = Mutex.new
11
+ @routes_warmed = false
12
+
13
+ # Materialise the engine's lazy route set once, single-threaded. Background
14
+ # worker threads that render engine partials for Turbo broadcasts otherwise
15
+ # race the lazy first-load and raise "undefined method 'run_response_path'"
16
+ # (production survives only because eager_load finalises routes at boot).
17
+ def self.warm_routes!
18
+ ROUTES_WARMUP_LOCK.synchronize do
19
+ return if @routes_warmed
20
+ routes.url_helpers.root_path
21
+ @routes_warmed = true
22
+ end
23
+ end
24
+
10
25
  def self.register_assets(app)
11
26
  app.config.assets.precompile += %w(
12
27
  completion_kit/application.css
@@ -1,3 +1,3 @@
1
1
  module CompletionKit
2
- VERSION = "0.5.22"
2
+ VERSION = "0.5.23"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: completion-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.22
4
+ version: 0.5.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Damien Bastin