kontent-delivery-sdk-ruby 2.0.19 → 2.0.25

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