Class: Kentico::Kontent::Delivery::Responses::DeliveryItemsFeedResponse

Inherits:
ResponseBase
  • Object
show all
Defined in:
lib/delivery/responses/delivery_items_feed_response.rb

Overview

The response of a successful query for content items.

Instance Attribute Summary

Attributes inherited from ResponseBase

#headers, #http_code, #json, #message

Instance Method Summary collapse

Methods inherited from ResponseBase

#to_s

Constructor Details

#initialize(headers, body, query) ⇒ DeliveryItemsFeedResponse

Returns a new instance of DeliveryItemsFeedResponse.



31
32
33
34
35
36
37
38
39
40
# File 'lib/delivery/responses/delivery_items_feed_response.rb', line 31

def initialize(headers, body, query)
  @query = query
  @response = JSON.parse(body)
  @content_link_url_resolver = query.content_link_url_resolver
  @inline_content_item_resolver = query.inline_content_item_resolver
  super 200,
    "Success, #{items.length} items returned",
    headers,
    JSON.generate(@response)
end

Instance Method Details

#continuation_tokenObject



51
52
53
# File 'lib/delivery/responses/delivery_items_feed_response.rb', line 51

def continuation_token
  headers[Kentico::Kontent::Delivery::DeliveryQuery::HEADER_CONTINUATION]
end

#itemsObject

A collection of Kentico::Kontent::Delivery::ContentItem objects from a Kentico::Kontent::Delivery::DeliveryClient.items_feed call.

  • Returns:

    • Array One or more Kentico::Kontent::Delivery::ContentItem objects



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/delivery/responses/delivery_items_feed_response.rb', line 16

def items
  @items unless @items.nil?
  linked_items_resolver = Kentico::Kontent::Delivery::Resolvers::LinkedItemResolver.new @response['modular_content'], @content_link_url_resolver, @inline_content_item_resolver
  items = []
  @response['items'].each do |n|
    items << Kentico::Kontent::Delivery::ContentItem.new(
      n,
      @content_link_url_resolver,
      @inline_content_item_resolver,
      linked_items_resolver
    )
  end
  @items = items
end

#more_results?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/delivery/responses/delivery_items_feed_response.rb', line 47

def more_results?
  !continuation_token.nil?
end

#next_resultObject



42
43
44
45
# File 'lib/delivery/responses/delivery_items_feed_response.rb', line 42

def next_result
  @query.update_continuation continuation_token
  @query.execute
end