class Kentico::Kontent::Resolvers::ContentResolver
This class resolve the content of the content item to be injected under the front matter part of the page. 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/content_resolver.rb, line 11 def initialize(global_config) @global_config = global_config end
Public Instance Methods
execute(content_item, config)
click to toggle source
# File lib/kontent-jekyll/resolvers/content_resolver.rb, line 15 def execute(content_item, config) content = custom_resolver && custom_resolver.resolve(content_item) content || resolve_internal(content_item, config) 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/content_resolver.rb, line 25 def custom_resolver return @custom_resolver if @custom_resolver resolver_name = @global_config.content_resolver return unless resolver_name @custom_resolver = Module.const_get(resolver_name).new end
resolve_internal(content_item, config)
click to toggle source
Resolves content in a default way, it looks up element with a codename 'content' or codename specified in the config and takes its string value. This also resolves content components and linked items.
# File lib/kontent-jekyll/resolvers/content_resolver.rb, line 39 def resolve_internal(content_item, config) element_name = config.content || 'content' element = content_item.elements[element_name] element && content_item.get_string(element_name) end