Sha256: 4e95bf9ca0786c1b36beb184ce0cb61a129b7633fbd9437d713953596080e9c4
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
module Kentico module Kontent module Resolvers ## # This class resolve the data that will be injected into 'site.data' object. # If no user-defined resolver was provided or it returned nil # then content will be resolved in a default way. class DataResolver def initialize(global_config) @global_config = global_config end def execute(content_item) data = custom_resolver && custom_resolver.resolve(content_item) data || resolve_internal(content_item) end private ## # User-provided provided resolver is instantiated based on the name from configuration. def custom_resolver return @custom_resolver if @custom_resolver resolver_name = @global_config.data_resolver return unless resolver_name @custom_resolver = Module.const_get(resolver_name).new end ## # It resolves the content item and outputs only system and element fields as the original # item also contains methods, etc. def resolve_internal(item) OpenStruct.new( system: item.system, elements: item.elements, ) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kontent-jekyll-0.11.1 | lib/kontent-jekyll/resolvers/data_resolver.rb |
kontent-jekyll-0.11.0 | lib/kontent-jekyll/resolvers/data_resolver.rb |