Sha256: 129337c067684d7172fb435c5d795b9a500a7990223552ad09ac07bc49d04db0
Contents?: true
Size: 1.1 KB
Versions: 3
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module BridgetownPrismic class Origin < Bridgetown::Model::Origin # @return [Pathname] attr_reader :relative_path attr_reader :prismic_document def self.handle_scheme?(scheme) = scheme == "prismic" def self.import_document(document) = new("prismic://#{document.type}/#{document.id}", document).read def initialize(id, prismic_document = nil) super(id) @relative_path = Pathname.new("#{id.delete_prefix("prismic://")}.html") @prismic_document = prismic_document # could be nil, so model should load preview instance end def verify_model?(klass) klass.prismic_custom_type.to_s == URI.parse(id).host end def read klass = Bridgetown::Model::Base.klass_for_id(id) if klass.name == "Bridgetown::Model::Base" raise "Could not find a specialized model class for ID `#{id}'" end @data = klass.prismic_data(self, @prismic_document) @data[:_id_] = id @data[:_origin_] = self @data end def exists? false end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bridgetown-prismic-1.0.0 | lib/bridgetown-prismic/origin.rb |
bridgetown-prismic-0.3.0 | lib/bridgetown-prismic/origin.rb |
bridgetown-prismic-0.2.3 | lib/bridgetown-prismic/origin.rb |