Class: BridgetownPrismic::Builder
- Inherits:
-
Bridgetown::Builder
- Object
- Bridgetown::Builder
- BridgetownPrismic::Builder
show all
- Includes:
- API
- Defined in:
- lib/bridgetown-prismic/builder.rb
Instance Method Summary
collapse
Methods included from API
#configure_prismic, #model_exists_for_prismic_type?, #model_for_prismic_type, #prismic_types, #query_prismic, #query_prismic_and_generate_resources_for
Instance Method Details
#build ⇒ Object
9
10
11
12
13
14
15
|
# File 'lib/bridgetown-prismic/builder.rb', line 9
def build
configure_prismic
return if site.ssr?
load_prismic_documents
end
|
#load_prismic_documents ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/bridgetown-prismic/builder.rb', line 17
def load_prismic_documents
batches = []
Async do |task|
prismic_types.map do |type|
task.async do
Bridgetown::Current.site = site klass = model_for_prismic_type(type)
batches.push [klass, query_prismic(klass.prismic_custom_type, {})]
end
end
end
batches.each do |batch|
klass, docs = batch
docs.map { |doc| klass.import_prismic_document(doc) }.each(&:as_resource_in_collection)
end
end
|