kontent-delivery-sdk-ruby 2.0.19 → 2.0.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +21 -21
  3. data/README.md +583 -575
  4. data/bin/console +14 -14
  5. data/bin/setup +8 -8
  6. data/lib/delivery/builders/image_transformation_builder.rb +271 -271
  7. data/lib/delivery/builders/url_builder.rb +120 -120
  8. data/lib/delivery/client/delivery_client.rb +176 -176
  9. data/lib/delivery/client/delivery_query.rb +302 -302
  10. data/lib/delivery/client/request_manager.rb +125 -125
  11. data/lib/delivery/models/content_item.rb +153 -153
  12. data/lib/delivery/models/content_type.rb +41 -41
  13. data/lib/delivery/models/pagination.rb +22 -22
  14. data/lib/delivery/models/taxonomy_group.rb +39 -39
  15. data/lib/delivery/query_parameters/filters.rb +201 -158
  16. data/lib/delivery/query_parameters/parameter_base.rb +56 -46
  17. data/lib/delivery/query_parameters/query_string.rb +78 -78
  18. data/lib/delivery/resolvers/content_link_resolver.rb +102 -102
  19. data/lib/delivery/resolvers/inline_content_item_resolver.rb +75 -75
  20. data/lib/delivery/resolvers/linked_item_resolver.rb +37 -37
  21. data/lib/delivery/responses/delivery_element_response.rb +34 -34
  22. data/lib/delivery/responses/delivery_item_listing_response.rb +54 -54
  23. data/lib/delivery/responses/delivery_item_response.rb +40 -40
  24. data/lib/delivery/responses/delivery_items_feed_response.rb +58 -58
  25. data/lib/delivery/responses/delivery_taxonomy_listing_response.rb +47 -47
  26. data/lib/delivery/responses/delivery_taxonomy_response.rb +33 -33
  27. data/lib/delivery/responses/delivery_type_listing_response.rb +46 -46
  28. data/lib/delivery/responses/delivery_type_response.rb +32 -32
  29. data/lib/delivery/responses/response_base.rb +39 -39
  30. data/lib/delivery/tests/401.json +5 -5
  31. data/lib/delivery/tests/429.json +4 -4
  32. data/lib/delivery/tests/fake_responder.rb +105 -110
  33. data/lib/delivery/tests/filtering/items_with_count.json +5385 -4986
  34. data/lib/delivery/tests/filtering/{pagination_about_us.json → pagination.json} +761 -646
  35. data/lib/delivery/tests/generic/items.json +5383 -4984
  36. data/lib/delivery/tests/generic/items/about_us.json +276 -227
  37. data/lib/delivery/tests/generic/items/aeropress_filters.json +155 -138
  38. data/lib/delivery/tests/generic/items/coffee_processing_techniques.json +565 -168
  39. data/lib/delivery/tests/generic/items/where_does_coffee_come_from_.json +517 -621
  40. data/lib/delivery/tests/generic/taxonomies.json +203 -126
  41. data/lib/delivery/tests/generic/types.json +836 -781
  42. data/lib/delivery/tests/generic/types/brewer/elements/product_status.json +5 -5
  43. data/lib/delivery/tests/items_feed/articles_feed_1.json +39 -39
  44. data/lib/delivery/tests/items_feed/articles_feed_2.json +78 -78
  45. data/lib/delivery/tests/items_feed/articles_feed_3.json +104 -104
  46. data/lib/kontent-delivery-sdk-ruby.rb +20 -20
  47. metadata +20 -24
  48. data/lib/delivery/tests/filtering/items_gt.json +0 -566
  49. data/lib/delivery/tests/filtering/multiple.json +0 -283
  50. data/lib/delivery/version.rb +0 -7
@@ -1,120 +1,120 @@
1
- module Kentico
2
- module Kontent
3
- module Delivery
4
- module Builders
5
- # Internal class which generates the URL required for Delivery REST API
6
- class UrlBuilder
7
- URL_TEMPLATE_BASE = 'https://deliver.kontent.ai/%s'.freeze
8
- URL_TEMPLATE_PREVIEW = 'https://preview-deliver.kontent.ai/%s'.freeze
9
- URL_TEMPLATE_ITEM = '/items/%s'.freeze
10
- URL_TEMPLATE_ITEMS = '/items'.freeze
11
- URL_TEMPLATE_TYPE = '/types/%s'.freeze
12
- URL_TEMPLATE_TYPES = '/types'.freeze
13
- URL_TEMPLATE_ELEMENTS = '/types/%s/elements/%s'.freeze
14
- URL_TEMPLATE_TAXONOMY = '/taxonomies/%s'.freeze
15
- URL_TEMPLATE_TAXONOMIES = '/taxonomies'.freeze
16
- URL_TEMPLATE_ITEMS_FEED = '/items-feed'.freeze
17
-
18
- URL_MAX_LENGTH = 65_519
19
- MSG_LONG_QUERY = 'The request url is too long. Split your query into multiple calls.'.freeze
20
-
21
- class << self
22
- # Returns the proper domain for the request along with the
23
- # query string parameters configured by the +DeliveryQuery+.
24
- #
25
- # * *Args*:
26
- # - *query* ( Kentico::Kontent::Delivery::DeliveryQuery )
27
- #
28
- # * *Returns*:
29
- # - +string+ The full URL for a Delivery request
30
- def provide_url(query)
31
- url = provide_base_url(query)
32
- url += provide_path_part(query)
33
-
34
- if query.query_string.empty?
35
- url
36
- else
37
- url + query.query_string.to_s
38
- end
39
- end
40
-
41
- # Checks whether the provided URL is too long and raises an error if so.
42
- #
43
- # * *Args*:
44
- # - *url* (+string+) A full Delivery URL
45
- #
46
- # * *Raises*:
47
- # - +UriFormatException+ if the URL is 65,519 characters or more
48
- def validate_url(url)
49
- raise UriFormatException, MSG_LONG_QUERY if url.length > URL_MAX_LENGTH
50
- end
51
-
52
- private
53
-
54
- # Returns relative path part of URL depending on query type.
55
- #
56
- # * *Args*:
57
- # - *query* ( Kentico::Kontent::Delivery::DeliveryQuery )
58
- #
59
- # * *Returns*:
60
- # - +string+ The URL path part (without protocol or domain)
61
- def provide_path_part(query)
62
- case query.query_type
63
- when Kentico::Kontent::Delivery::QUERY_TYPE_ITEMS
64
- provide_item query
65
- when Kentico::Kontent::Delivery::QUERY_TYPE_TYPES
66
- provide_type query
67
- when Kentico::Kontent::Delivery::QUERY_TYPE_TAXONOMIES
68
- provide_taxonomy query
69
- when Kentico::Kontent::Delivery::QUERY_TYPE_ELEMENT
70
- format(URL_TEMPLATE_ELEMENTS, query.content_type, query.code_name)
71
- when Kentico::Kontent::Delivery::QUERY_TYPE_ITEMS_FEED
72
- URL_TEMPLATE_ITEMS_FEED
73
- end
74
- end
75
-
76
- def provide_item(query)
77
- if query.code_name.nil?
78
- URL_TEMPLATE_ITEMS
79
- else
80
- format(URL_TEMPLATE_ITEM, query.code_name)
81
- end
82
- end
83
-
84
- def provide_taxonomy(query)
85
- if query.code_name.nil?
86
- URL_TEMPLATE_TAXONOMIES
87
- else
88
- format(URL_TEMPLATE_TAXONOMY, query.code_name)
89
- end
90
- end
91
-
92
- def provide_type(query)
93
- if query.code_name.nil?
94
- URL_TEMPLATE_TYPES
95
- else
96
- format(URL_TEMPLATE_TYPE, query.code_name)
97
- end
98
- end
99
-
100
- # Returns the protocol and domain with project ID. Domain changes
101
- # according to the query's +use_preview+ attribute.
102
- #
103
- # * *Args*:
104
- # - *query* ( Kentico::Kontent::Delivery::DeliveryQuery )
105
- #
106
- # * *Returns*:
107
- # - +string+ The URL with the project ID
108
- def provide_base_url(query)
109
- if query.use_preview
110
- format(URL_TEMPLATE_PREVIEW, query.project_id)
111
- else
112
- format(URL_TEMPLATE_BASE, query.project_id)
113
- end
114
- end
115
- end
116
- end
117
- end
118
- end
119
- end
120
- end
1
+ module Kentico
2
+ module Kontent
3
+ module Delivery
4
+ module Builders
5
+ # Internal class which generates the URL required for Delivery REST API
6
+ class UrlBuilder
7
+ URL_TEMPLATE_BASE = 'https://deliver.kontent.ai/%s'.freeze
8
+ URL_TEMPLATE_PREVIEW = 'https://preview-deliver.kontent.ai/%s'.freeze
9
+ URL_TEMPLATE_ITEM = '/items/%s'.freeze
10
+ URL_TEMPLATE_ITEMS = '/items'.freeze
11
+ URL_TEMPLATE_TYPE = '/types/%s'.freeze
12
+ URL_TEMPLATE_TYPES = '/types'.freeze
13
+ URL_TEMPLATE_ELEMENTS = '/types/%s/elements/%s'.freeze
14
+ URL_TEMPLATE_TAXONOMY = '/taxonomies/%s'.freeze
15
+ URL_TEMPLATE_TAXONOMIES = '/taxonomies'.freeze
16
+ URL_TEMPLATE_ITEMS_FEED = '/items-feed'.freeze
17
+
18
+ URL_MAX_LENGTH = 65_519
19
+ MSG_LONG_QUERY = 'The request url is too long. Split your query into multiple calls.'.freeze
20
+
21
+ class << self
22
+ # Returns the proper domain for the request along with the
23
+ # query string parameters configured by the +DeliveryQuery+.
24
+ #
25
+ # * *Args*:
26
+ # - *query* ( Kentico::Kontent::Delivery::DeliveryQuery )
27
+ #
28
+ # * *Returns*:
29
+ # - +string+ The full URL for a Delivery request
30
+ def provide_url(query)
31
+ url = provide_base_url(query)
32
+ url += provide_path_part(query)
33
+
34
+ if query.query_string.empty?
35
+ url
36
+ else
37
+ url + query.query_string.to_s
38
+ end
39
+ end
40
+
41
+ # Checks whether the provided URL is too long and raises an error if so.
42
+ #
43
+ # * *Args*:
44
+ # - *url* (+string+) A full Delivery URL
45
+ #
46
+ # * *Raises*:
47
+ # - +UriFormatException+ if the URL is 65,519 characters or more
48
+ def validate_url(url)
49
+ raise UriFormatException, MSG_LONG_QUERY if url.length > URL_MAX_LENGTH
50
+ end
51
+
52
+ private
53
+
54
+ # Returns relative path part of URL depending on query type.
55
+ #
56
+ # * *Args*:
57
+ # - *query* ( Kentico::Kontent::Delivery::DeliveryQuery )
58
+ #
59
+ # * *Returns*:
60
+ # - +string+ The URL path part (without protocol or domain)
61
+ def provide_path_part(query)
62
+ case query.query_type
63
+ when Kentico::Kontent::Delivery::QUERY_TYPE_ITEMS
64
+ provide_item query
65
+ when Kentico::Kontent::Delivery::QUERY_TYPE_TYPES
66
+ provide_type query
67
+ when Kentico::Kontent::Delivery::QUERY_TYPE_TAXONOMIES
68
+ provide_taxonomy query
69
+ when Kentico::Kontent::Delivery::QUERY_TYPE_ELEMENT
70
+ format(URL_TEMPLATE_ELEMENTS, query.content_type, query.code_name)
71
+ when Kentico::Kontent::Delivery::QUERY_TYPE_ITEMS_FEED
72
+ URL_TEMPLATE_ITEMS_FEED
73
+ end
74
+ end
75
+
76
+ def provide_item(query)
77
+ if query.code_name.nil?
78
+ URL_TEMPLATE_ITEMS
79
+ else
80
+ format(URL_TEMPLATE_ITEM, query.code_name)
81
+ end
82
+ end
83
+
84
+ def provide_taxonomy(query)
85
+ if query.code_name.nil?
86
+ URL_TEMPLATE_TAXONOMIES
87
+ else
88
+ format(URL_TEMPLATE_TAXONOMY, query.code_name)
89
+ end
90
+ end
91
+
92
+ def provide_type(query)
93
+ if query.code_name.nil?
94
+ URL_TEMPLATE_TYPES
95
+ else
96
+ format(URL_TEMPLATE_TYPE, query.code_name)
97
+ end
98
+ end
99
+
100
+ # Returns the protocol and domain with project ID. Domain changes
101
+ # according to the query's +use_preview+ attribute.
102
+ #
103
+ # * *Args*:
104
+ # - *query* ( Kentico::Kontent::Delivery::DeliveryQuery )
105
+ #
106
+ # * *Returns*:
107
+ # - +string+ The URL with the project ID
108
+ def provide_base_url(query)
109
+ if query.use_preview
110
+ format(URL_TEMPLATE_PREVIEW, query.project_id)
111
+ else
112
+ format(URL_TEMPLATE_BASE, query.project_id)
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
@@ -1,176 +1,176 @@
1
- require 'delivery/client/delivery_query'
2
- require 'delivery/responses/delivery_item_listing_response'
3
- require 'delivery/responses/delivery_item_response'
4
- require 'json'
5
-
6
- module Kentico
7
- module Kontent
8
- module Delivery
9
- QUERY_TYPE_TYPES = 'QUERY_TYPE_TYPES'.freeze
10
- QUERY_TYPE_ITEMS = 'QUERY_TYPE_ITEMS'.freeze
11
- QUERY_TYPE_TAXONOMIES = 'QUERY_TYPE_TAXONOMIES'.freeze
12
- QUERY_TYPE_ELEMENT = 'QUERY_TYPE_ELEMENT'.freeze
13
- QUERY_TYPE_ITEMS_FEED = 'QUERY_TYPE_ITEMS_FEED'.freeze
14
-
15
- # Executes requests against the Kentico Kontent Delivery API.
16
- class DeliveryClient
17
- attr_accessor :use_preview
18
-
19
- # Constructor. Accepts a hash with the options for client.
20
- #
21
- # * *Args*:
22
- # - *config* (+Hash+) May contain the following keys:
23
- # - project_id (+string+) _required_
24
- # - preview_key (+string+)
25
- # - secure_key (+string+)
26
- # - content_link_url_resolver ( Kentico::Kontent::Delivery::Resolvers::ContentLinkResolver )
27
- # - inline_content_item_resolver ( Kentico::Kontent::Delivery::Resolvers::InlineContentItemResolver )
28
- # - with_retry_policy (+bool+)
29
- def initialize(config)
30
- @project_id = config.fetch(:project_id)
31
- @preview_key = config.fetch(:preview_key, nil)
32
- @secure_key = config.fetch(:secure_key, nil)
33
- @content_link_url_resolver = config.fetch(:content_link_url_resolver, nil)
34
- @inline_content_item_resolver = config.fetch(:inline_content_item_resolver, nil)
35
- @with_retry_policy = config.fetch(:with_retry_policy, true)
36
- self.use_preview = !@preview_key.nil?
37
- end
38
-
39
- # Return all content types of the project
40
- #
41
- # * *Returns*:
42
- # - Kentico::Kontent::Delivery::DeliveryQuery
43
- def types
44
- DeliveryQuery.new project_id: @project_id,
45
- secure_key: @secure_key,
46
- query_type: QUERY_TYPE_TYPES,
47
- with_retry_policy: @with_retry_policy
48
- end
49
-
50
- # Return a single content type of the project
51
- #
52
- # * *Args*:
53
- # - *code_name* (+string+) Code name of the desired content type
54
- #
55
- # * *Returns*:
56
- # - Kentico::Kontent::Delivery::DeliveryQuery
57
- def type(code_name)
58
- DeliveryQuery.new project_id: @project_id,
59
- secure_key: @secure_key,
60
- code_name: code_name,
61
- query_type: QUERY_TYPE_TYPES,
62
- with_retry_policy: @with_retry_policy
63
- end
64
-
65
- # Return a paginated feed of all content items of the project
66
- #
67
- # * *Args*:
68
- # - *query_parameters* (+Array+) _optional_ One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.
69
- #
70
- # * *Returns*:
71
- # - Kentico::Kontent::Delivery::DeliveryQuery
72
- def items_feed(query_parameters = [])
73
- q = DeliveryQuery.new project_id: @project_id,
74
- secure_key: @secure_key,
75
- qp: query_parameters,
76
- content_link_url_resolver: @content_link_url_resolver,
77
- inline_content_item_resolver: @inline_content_item_resolver,
78
- query_type: QUERY_TYPE_ITEMS_FEED,
79
- with_retry_policy: @with_retry_policy
80
- q.use_preview = use_preview
81
- q.preview_key = @preview_key
82
- q
83
- end
84
-
85
- # Return all content items of the project
86
- #
87
- # * *Args*:
88
- # - *query_parameters* (+Array+) _optional_ One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.
89
- #
90
- # * *Returns*:
91
- # - Kentico::Kontent::Delivery::DeliveryQuery
92
- def items(query_parameters = [])
93
- q = DeliveryQuery.new project_id: @project_id,
94
- secure_key: @secure_key,
95
- qp: query_parameters,
96
- content_link_url_resolver: @content_link_url_resolver,
97
- inline_content_item_resolver: @inline_content_item_resolver,
98
- query_type: QUERY_TYPE_ITEMS,
99
- with_retry_policy: @with_retry_policy
100
- q.use_preview = use_preview
101
- q.preview_key = @preview_key
102
- q
103
- end
104
-
105
- # Return a single content item of the project
106
- #
107
- # * *Args*:
108
- # - *code_name* (+string+) The code name of the desired content item
109
- # - *query_parameters* (+Array+) _optional_ One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.
110
- #
111
- # * *Returns*:
112
- # - Kentico::Kontent::Delivery::DeliveryQuery
113
- def item(code_name, query_parameters = [])
114
- q = DeliveryQuery.new project_id: @project_id,
115
- secure_key: @secure_key,
116
- code_name: code_name,
117
- qp: query_parameters,
118
- content_link_url_resolver: @content_link_url_resolver,
119
- inline_content_item_resolver: @inline_content_item_resolver,
120
- query_type: QUERY_TYPE_ITEMS,
121
- with_retry_policy: @with_retry_policy
122
- q.use_preview = use_preview
123
- q.preview_key = @preview_key
124
- q
125
- end
126
-
127
- # Return all taxonomy groups of the project
128
- #
129
- # * *Args*:
130
- # - *query_parameters* (+Array+) _optional_ One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.
131
- #
132
- # * *Returns*:
133
- # - Kentico::Kontent::Delivery::DeliveryQuery
134
- def taxonomies(query_parameters = [])
135
- DeliveryQuery.new project_id: @project_id,
136
- secure_key: @secure_key,
137
- qp: query_parameters,
138
- query_type: QUERY_TYPE_TAXONOMIES,
139
- with_retry_policy: @with_retry_policy
140
- end
141
-
142
- # Return a single taxonomy group of the project
143
- #
144
- # * *Args*:
145
- # - *code_name* (+string+) The code name of the desired taxonomy group
146
- #
147
- # * *Returns*:
148
- # - Kentico::Kontent::Delivery::DeliveryQuery
149
- def taxonomy(code_name)
150
- DeliveryQuery.new project_id: @project_id,
151
- secure_key: @secure_key,
152
- code_name: code_name,
153
- query_type: QUERY_TYPE_TAXONOMIES,
154
- with_retry_policy: @with_retry_policy
155
- end
156
-
157
- # Return a single element of a content type
158
- #
159
- # * *Args*:
160
- # - *content_type* (+string+) The code name of the content type containing the element
161
- # - *element* (+string+) The code name of the desired element
162
- #
163
- # * *Returns*:
164
- # - Kentico::Kontent::Delivery::DeliveryQuery
165
- def element(content_type, element)
166
- DeliveryQuery.new project_id: @project_id,
167
- secure_key: @secure_key,
168
- code_name: element,
169
- content_type: content_type,
170
- query_type: QUERY_TYPE_ELEMENT,
171
- with_retry_policy: @with_retry_policy
172
- end
173
- end
174
- end
175
- end
176
- end
1
+ require 'delivery/client/delivery_query'
2
+ require 'delivery/responses/delivery_item_listing_response'
3
+ require 'delivery/responses/delivery_item_response'
4
+ require 'json'
5
+
6
+ module Kentico
7
+ module Kontent
8
+ module Delivery
9
+ QUERY_TYPE_TYPES = 'QUERY_TYPE_TYPES'.freeze
10
+ QUERY_TYPE_ITEMS = 'QUERY_TYPE_ITEMS'.freeze
11
+ QUERY_TYPE_TAXONOMIES = 'QUERY_TYPE_TAXONOMIES'.freeze
12
+ QUERY_TYPE_ELEMENT = 'QUERY_TYPE_ELEMENT'.freeze
13
+ QUERY_TYPE_ITEMS_FEED = 'QUERY_TYPE_ITEMS_FEED'.freeze
14
+
15
+ # Executes requests against the Kentico Kontent Delivery API.
16
+ class DeliveryClient
17
+ attr_accessor :use_preview
18
+
19
+ # Constructor. Accepts a hash with the options for client.
20
+ #
21
+ # * *Args*:
22
+ # - *config* (+Hash+) May contain the following keys:
23
+ # - project_id (+string+) _required_
24
+ # - preview_key (+string+)
25
+ # - secure_key (+string+)
26
+ # - content_link_url_resolver ( Kentico::Kontent::Delivery::Resolvers::ContentLinkResolver )
27
+ # - inline_content_item_resolver ( Kentico::Kontent::Delivery::Resolvers::InlineContentItemResolver )
28
+ # - with_retry_policy (+bool+)
29
+ def initialize(config)
30
+ @project_id = config.fetch(:project_id)
31
+ @preview_key = config.fetch(:preview_key, nil)
32
+ @secure_key = config.fetch(:secure_key, nil)
33
+ @content_link_url_resolver = config.fetch(:content_link_url_resolver, nil)
34
+ @inline_content_item_resolver = config.fetch(:inline_content_item_resolver, nil)
35
+ @with_retry_policy = config.fetch(:with_retry_policy, true)
36
+ self.use_preview = !@preview_key.nil?
37
+ end
38
+
39
+ # Return all content types of the project
40
+ #
41
+ # * *Returns*:
42
+ # - Kentico::Kontent::Delivery::DeliveryQuery
43
+ def types
44
+ DeliveryQuery.new project_id: @project_id,
45
+ secure_key: @secure_key,
46
+ query_type: QUERY_TYPE_TYPES,
47
+ with_retry_policy: @with_retry_policy
48
+ end
49
+
50
+ # Return a single content type of the project
51
+ #
52
+ # * *Args*:
53
+ # - *code_name* (+string+) Code name of the desired content type
54
+ #
55
+ # * *Returns*:
56
+ # - Kentico::Kontent::Delivery::DeliveryQuery
57
+ def type(code_name)
58
+ DeliveryQuery.new project_id: @project_id,
59
+ secure_key: @secure_key,
60
+ code_name: code_name,
61
+ query_type: QUERY_TYPE_TYPES,
62
+ with_retry_policy: @with_retry_policy
63
+ end
64
+
65
+ # Return a paginated feed of all content items of the project
66
+ #
67
+ # * *Args*:
68
+ # - *query_parameters* (+Array+) _optional_ One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.
69
+ #
70
+ # * *Returns*:
71
+ # - Kentico::Kontent::Delivery::DeliveryQuery
72
+ def items_feed(query_parameters = [])
73
+ q = DeliveryQuery.new project_id: @project_id,
74
+ secure_key: @secure_key,
75
+ qp: query_parameters,
76
+ content_link_url_resolver: @content_link_url_resolver,
77
+ inline_content_item_resolver: @inline_content_item_resolver,
78
+ query_type: QUERY_TYPE_ITEMS_FEED,
79
+ with_retry_policy: @with_retry_policy
80
+ q.use_preview = use_preview
81
+ q.preview_key = @preview_key
82
+ q
83
+ end
84
+
85
+ # Return all content items of the project
86
+ #
87
+ # * *Args*:
88
+ # - *query_parameters* (+Array+) _optional_ One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.
89
+ #
90
+ # * *Returns*:
91
+ # - Kentico::Kontent::Delivery::DeliveryQuery
92
+ def items(query_parameters = [])
93
+ q = DeliveryQuery.new project_id: @project_id,
94
+ secure_key: @secure_key,
95
+ qp: query_parameters,
96
+ content_link_url_resolver: @content_link_url_resolver,
97
+ inline_content_item_resolver: @inline_content_item_resolver,
98
+ query_type: QUERY_TYPE_ITEMS,
99
+ with_retry_policy: @with_retry_policy
100
+ q.use_preview = use_preview
101
+ q.preview_key = @preview_key
102
+ q
103
+ end
104
+
105
+ # Return a single content item of the project
106
+ #
107
+ # * *Args*:
108
+ # - *code_name* (+string+) The code name of the desired content item
109
+ # - *query_parameters* (+Array+) _optional_ One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.
110
+ #
111
+ # * *Returns*:
112
+ # - Kentico::Kontent::Delivery::DeliveryQuery
113
+ def item(code_name, query_parameters = [])
114
+ q = DeliveryQuery.new project_id: @project_id,
115
+ secure_key: @secure_key,
116
+ code_name: code_name,
117
+ qp: query_parameters,
118
+ content_link_url_resolver: @content_link_url_resolver,
119
+ inline_content_item_resolver: @inline_content_item_resolver,
120
+ query_type: QUERY_TYPE_ITEMS,
121
+ with_retry_policy: @with_retry_policy
122
+ q.use_preview = use_preview
123
+ q.preview_key = @preview_key
124
+ q
125
+ end
126
+
127
+ # Return all taxonomy groups of the project
128
+ #
129
+ # * *Args*:
130
+ # - *query_parameters* (+Array+) _optional_ One or more Kentico::Kontent::Delivery::QueryParameters::Filter objects. A single object will automatically be converted into an Array.
131
+ #
132
+ # * *Returns*:
133
+ # - Kentico::Kontent::Delivery::DeliveryQuery
134
+ def taxonomies(query_parameters = [])
135
+ DeliveryQuery.new project_id: @project_id,
136
+ secure_key: @secure_key,
137
+ qp: query_parameters,
138
+ query_type: QUERY_TYPE_TAXONOMIES,
139
+ with_retry_policy: @with_retry_policy
140
+ end
141
+
142
+ # Return a single taxonomy group of the project
143
+ #
144
+ # * *Args*:
145
+ # - *code_name* (+string+) The code name of the desired taxonomy group
146
+ #
147
+ # * *Returns*:
148
+ # - Kentico::Kontent::Delivery::DeliveryQuery
149
+ def taxonomy(code_name)
150
+ DeliveryQuery.new project_id: @project_id,
151
+ secure_key: @secure_key,
152
+ code_name: code_name,
153
+ query_type: QUERY_TYPE_TAXONOMIES,
154
+ with_retry_policy: @with_retry_policy
155
+ end
156
+
157
+ # Return a single element of a content type
158
+ #
159
+ # * *Args*:
160
+ # - *content_type* (+string+) The code name of the content type containing the element
161
+ # - *element* (+string+) The code name of the desired element
162
+ #
163
+ # * *Returns*:
164
+ # - Kentico::Kontent::Delivery::DeliveryQuery
165
+ def element(content_type, element)
166
+ DeliveryQuery.new project_id: @project_id,
167
+ secure_key: @secure_key,
168
+ code_name: element,
169
+ content_type: content_type,
170
+ query_type: QUERY_TYPE_ELEMENT,
171
+ with_retry_policy: @with_retry_policy
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end