class Kentico::Kontent::Delivery::Resolvers::LinkedItemResolver

Resolves a content item by its codename. It contains the modular content of item/items response.

Public Class Methods

new(modular_content, content_link_url_resolver, inline_content_item_resolver) click to toggle source
# File lib/delivery/resolvers/linked_item_resolver.rb, line 8
def initialize(modular_content, content_link_url_resolver, inline_content_item_resolver)
  @modular_content = modular_content
  @content_link_url_resolver = content_link_url_resolver
  @inline_content_item_resolver = inline_content_item_resolver
  @resolved_items = {}
end

Public Instance Methods

resolve(codename) click to toggle source

Resolves a content item. If the link for a codename was resolved before, it returns the same instance of ContentItem.

# File lib/delivery/resolvers/linked_item_resolver.rb, line 23
def resolve(codename)
  @resolved_items[codename] ||= resolve_item(codename)
end

Private Instance Methods

resolve_item(codename) click to toggle source
# File lib/delivery/resolvers/linked_item_resolver.rb, line 29
def resolve_item(codename)
  item = @modular_content.values.find { |i| i['system']['codename'] == codename }
  ContentItem.new JSON.parse(JSON.generate(item)), @content_link_url_resolver, @inline_content_item_resolver, self
end