class Kentico::Kontent::Resolvers::DataResolver
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.
Public Class Methods
new(global_config)
click to toggle source
# File lib/kontent-jekyll/resolvers/data_resolver.rb, line 10 def initialize(global_config) @global_config = global_config end
Public Instance Methods
execute(content_item)
click to toggle source
# File lib/kontent-jekyll/resolvers/data_resolver.rb, line 14 def execute(content_item) data = custom_resolver && custom_resolver.resolve(content_item) data || resolve_internal(content_item) end
Private Instance Methods
custom_resolver()
click to toggle source
User-provided provided resolver is instantiated based on the name from configuration.
# File lib/kontent-jekyll/resolvers/data_resolver.rb, line 24 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
resolve_internal(item)
click to toggle source
It resolves the content item and outputs only system and element fields as the original item also contains methods, etc.
# File lib/kontent-jekyll/resolvers/data_resolver.rb, line 37 def resolve_internal(item) OpenStruct.new( system: item.system, elements: item.elements, ) end