Class: Kentico::Kontent::Delivery::DeliveryClient

Inherits:
Object
  • Object
show all
Defined in:
lib/delivery/client/delivery_client.rb

Overview

Executes requests against the Kentico Kontent Delivery API.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ DeliveryClient

Constructor. Accepts a hash with the options for client.

  • Args:

    • config (Hash) May contain the following keys:

      • project_id (string) required

      • preview_key (string)

      • secure_key (string)

      • content_link_url_resolver ( Kentico::Kontent::Delivery::Resolvers::ContentLinkResolver )

      • inline_content_item_resolver ( Kentico::Kontent::Delivery::Resolvers::InlineContentItemResolver )

      • with_retry_policy (bool)



30
31
32
33
34
35
36
37
38
# File 'lib/delivery/client/delivery_client.rb', line 30

def initialize(config)
  @project_id = config.fetch(:project_id)
  @preview_key = config.fetch(:preview_key, nil)
  @secure_key = config.fetch(:secure_key, nil)
  @content_link_url_resolver = config.fetch(:content_link_url_resolver, nil)
  @inline_content_item_resolver = config.fetch(:inline_content_item_resolver, nil)
  @with_retry_policy = config.fetch(:with_retry_policy, true)
  self.use_preview = !@preview_key.nil?
end

Instance Attribute Details

#use_previewObject

Returns the value of attribute use_preview.



18
19
20
# File 'lib/delivery/client/delivery_client.rb', line 18

def use_preview
  @use_preview
end

Instance Method Details

#element(content_type, element) ⇒ Object

Return a single element of a content type

  • Args:

    • content_type (string) The code name of the content type containing the element

    • element (string) The code name of the desired element

  • Returns:

    • Kentico::Kontent::Delivery::DeliveryQuery



166
167
168
169
170
171
172
173
# File 'lib/delivery/client/delivery_client.rb', line 166

def element(content_type, element)
  DeliveryQuery.new project_id: @project_id,
                    secure_key: @secure_key,
                    code_name: element,
                    content_type: content_type,
                    query_type: QUERY_TYPE_ELEMENT,
                    with_retry_policy: @with_retry_policy
end

#item(code_name, query_parameters = []) ⇒ Object

Return a single content item of the project

  • Args:

    • code_name (string) The code name of the desired content item

    • query_parameters (Array) optional One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.

  • Returns:

    • Kentico::Kontent::Delivery::DeliveryQuery



114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/delivery/client/delivery_client.rb', line 114

def item(code_name, query_parameters = [])
  q = DeliveryQuery.new project_id: @project_id,
                        secure_key: @secure_key,
                        code_name: code_name,
                        qp: query_parameters,
                        content_link_url_resolver: @content_link_url_resolver,
                        inline_content_item_resolver: @inline_content_item_resolver,
                        query_type: QUERY_TYPE_ITEMS,
                        with_retry_policy: @with_retry_policy
  q.use_preview = use_preview
  q.preview_key = @preview_key
  q
end

#items(query_parameters = []) ⇒ Object

Return all content items of the project

  • Args:

    • query_parameters (Array) optional One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.

  • Returns:

    • Kentico::Kontent::Delivery::DeliveryQuery



93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/delivery/client/delivery_client.rb', line 93

def items(query_parameters = [])
  q = DeliveryQuery.new project_id: @project_id,
                        secure_key: @secure_key,
                        qp: query_parameters,
                        content_link_url_resolver: @content_link_url_resolver,
                        inline_content_item_resolver: @inline_content_item_resolver,
                        query_type: QUERY_TYPE_ITEMS,
                        with_retry_policy: @with_retry_policy
  q.use_preview = use_preview
  q.preview_key = @preview_key
  q
end

#items_feed(query_parameters = []) ⇒ Object

Return a paginated feed of all content items of the project

  • Args:

    • query_parameters (Array) optional One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.

  • Returns:

    • Kentico::Kontent::Delivery::DeliveryQuery



73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/delivery/client/delivery_client.rb', line 73

def items_feed(query_parameters = [])
  q = DeliveryQuery.new project_id: @project_id,
                        secure_key: @secure_key,
                        qp: query_parameters,
                        content_link_url_resolver: @content_link_url_resolver,
                        inline_content_item_resolver: @inline_content_item_resolver,
                        query_type: QUERY_TYPE_ITEMS_FEED,
                        with_retry_policy: @with_retry_policy
  q.use_preview = use_preview
  q.preview_key = @preview_key
  q
end

#languagesObject



175
176
177
178
179
180
# File 'lib/delivery/client/delivery_client.rb', line 175

def languages
  DeliveryQuery.new project_id: @project_id,
                    secure_key: @secure_key,
                    query_type: QUERY_TYPE_LANGUAGES,
                    with_retry_policy: @with_retry_policy
end

#taxonomies(query_parameters = []) ⇒ Object

Return all taxonomy groups of the project

  • Args:

    • query_parameters (Array) optional One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.

  • Returns:

    • Kentico::Kontent::Delivery::DeliveryQuery



135
136
137
138
139
140
141
# File 'lib/delivery/client/delivery_client.rb', line 135

def taxonomies(query_parameters = [])
  DeliveryQuery.new project_id: @project_id,
                    secure_key: @secure_key,
                    qp: query_parameters,
                    query_type: QUERY_TYPE_TAXONOMIES,
                    with_retry_policy: @with_retry_policy
end

#taxonomy(code_name) ⇒ Object

Return a single taxonomy group of the project

  • Args:

    • code_name (string) The code name of the desired taxonomy group

  • Returns:

    • Kentico::Kontent::Delivery::DeliveryQuery



150
151
152
153
154
155
156
# File 'lib/delivery/client/delivery_client.rb', line 150

def taxonomy(code_name)
  DeliveryQuery.new project_id: @project_id,
                    secure_key: @secure_key,
                    code_name: code_name,
                    query_type: QUERY_TYPE_TAXONOMIES,
                    with_retry_policy: @with_retry_policy
end

#type(code_name) ⇒ Object

Return a single content type of the project

  • Args:

    • code_name (string) Code name of the desired content type

  • Returns:

    • Kentico::Kontent::Delivery::DeliveryQuery



58
59
60
61
62
63
64
# File 'lib/delivery/client/delivery_client.rb', line 58

def type(code_name)
  DeliveryQuery.new project_id: @project_id,
                    secure_key: @secure_key,
                    code_name: code_name,
                    query_type: QUERY_TYPE_TYPES,
                    with_retry_policy: @with_retry_policy
end

#typesObject

Return all content types of the project

  • Returns:

    • Kentico::Kontent::Delivery::DeliveryQuery



44
45
46
47
48
49
# File 'lib/delivery/client/delivery_client.rb', line 44

def types
  DeliveryQuery.new project_id: @project_id,
                    secure_key: @secure_key,
                    query_type: QUERY_TYPE_TYPES,
                    with_retry_policy: @with_retry_policy
end