lib/bridgetown-prismic/api.rb in bridgetown-prismic-0.2.0 vs lib/bridgetown-prismic/api.rb in bridgetown-prismic-0.2.1
- old
+ new
@@ -8,10 +8,15 @@
site.config.prismic_api = Prismic.api("https://#{site.config.prismic_repository}.cdn.prismic.io/api")
site.config.prismic_link_resolver ||= Prismic::LinkResolver.new(nil) do |link|
next "/preview/#{link.type}/#{link.id}" if site.config.prismic_preview_token
if model_exists_for_prismic_type? link.type
- model_for_prismic_type(link.type).prismic_url(link)
+ full_doc = Async do
+ Bridgetown::Current.site = site # ensure fiber has copy of the current site
+ site.config.prismic_api.getByID(link.id)
+ end.wait
+
+ model_for_prismic_type(link.type).prismic_url(full_doc)
else
"/"
end
end
end