kontent-delivery-sdk-ruby 2.0.22 → 2.0.24
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.
- checksums.yaml +4 -4
- data/LICENSE.md +21 -21
- data/README.md +603 -602
- data/bin/console +14 -14
- data/bin/setup +8 -8
- data/lib/delivery/builders/image_transformation_builder.rb +272 -272
- data/lib/delivery/builders/url_builder.rb +123 -123
- data/lib/delivery/client/delivery_client.rb +184 -184
- data/lib/delivery/client/delivery_query.rb +302 -302
- data/lib/delivery/client/request_manager.rb +126 -127
- data/lib/delivery/models/content_item.rb +153 -153
- data/lib/delivery/models/content_type.rb +41 -41
- data/lib/delivery/models/language.rb +29 -29
- data/lib/delivery/models/pagination.rb +22 -22
- data/lib/delivery/models/taxonomy_group.rb +39 -39
- data/lib/delivery/query_parameters/filters.rb +201 -201
- data/lib/delivery/query_parameters/parameter_base.rb +56 -56
- data/lib/delivery/query_parameters/query_string.rb +78 -78
- data/lib/delivery/resolvers/content_link_resolver.rb +102 -102
- data/lib/delivery/resolvers/inline_content_item_resolver.rb +75 -75
- data/lib/delivery/resolvers/linked_item_resolver.rb +43 -37
- data/lib/delivery/responses/delivery_element_response.rb +34 -34
- data/lib/delivery/responses/delivery_item_listing_response.rb +54 -54
- data/lib/delivery/responses/delivery_item_response.rb +40 -40
- data/lib/delivery/responses/delivery_items_feed_response.rb +58 -58
- data/lib/delivery/responses/delivery_language_listing_response.rb +44 -44
- data/lib/delivery/responses/delivery_taxonomy_listing_response.rb +47 -47
- data/lib/delivery/responses/delivery_taxonomy_response.rb +33 -33
- data/lib/delivery/responses/delivery_type_listing_response.rb +46 -46
- data/lib/delivery/responses/delivery_type_response.rb +32 -32
- data/lib/delivery/responses/response_base.rb +39 -39
- data/lib/delivery/tests/401.json +5 -5
- data/lib/delivery/tests/429.json +4 -4
- data/lib/delivery/tests/fake_responder.rb +99 -105
- data/lib/delivery/tests/filtering/items_with_count.json +5384 -5384
- data/lib/delivery/tests/filtering/pagination.json +761 -761
- data/lib/delivery/tests/generic/items.json +5383 -5383
- data/lib/delivery/tests/generic/items/about_us.json +276 -276
- data/lib/delivery/tests/generic/items/aeropress_filters.json +155 -155
- data/lib/delivery/tests/generic/items/coffee_processing_techniques.json +565 -565
- data/lib/delivery/tests/generic/items/where_does_coffee_come_from_.json +598 -598
- data/lib/delivery/tests/generic/languages.json +23 -23
- data/lib/delivery/tests/generic/taxonomies.json +203 -203
- data/lib/delivery/tests/generic/taxonomies/manufacturer.json +29 -29
- data/lib/delivery/tests/generic/types.json +835 -835
- data/lib/delivery/tests/generic/types/brewer.json +88 -88
- data/lib/delivery/tests/generic/types/brewer/elements/product_status.json +5 -5
- data/lib/delivery/tests/items_feed/articles_feed_1.json +39 -39
- data/lib/delivery/tests/items_feed/articles_feed_2.json +78 -78
- data/lib/delivery/tests/items_feed/articles_feed_3.json +104 -104
- data/lib/kontent-delivery-sdk-ruby.rb +22 -22
- metadata +13 -32
@@ -1,58 +1,58 @@
|
|
1
|
-
require 'delivery/models/content_item'
|
2
|
-
require 'delivery/models/pagination'
|
3
|
-
require 'delivery/responses/response_base'
|
4
|
-
|
5
|
-
module Kentico
|
6
|
-
module Kontent
|
7
|
-
module Delivery
|
8
|
-
module Responses
|
9
|
-
# The response of a successful query for content items.
|
10
|
-
class DeliveryItemsFeedResponse < ResponseBase
|
11
|
-
# A collection of Kentico::Kontent::Delivery::ContentItem objects from
|
12
|
-
# a Kentico::Kontent::Delivery::DeliveryClient.items_feed call.
|
13
|
-
#
|
14
|
-
# * *Returns*:
|
15
|
-
# - +Array+ One or more Kentico::Kontent::Delivery::ContentItem objects
|
16
|
-
def items
|
17
|
-
@items unless @items.nil?
|
18
|
-
linked_items_resolver = Kentico::Kontent::Delivery::Resolvers::LinkedItemResolver.new @response['modular_content'], @content_link_url_resolver, @inline_content_item_resolver
|
19
|
-
items = []
|
20
|
-
@response['items'].each do |n|
|
21
|
-
items << Kentico::Kontent::Delivery::ContentItem.new(
|
22
|
-
n,
|
23
|
-
@content_link_url_resolver,
|
24
|
-
@inline_content_item_resolver,
|
25
|
-
linked_items_resolver
|
26
|
-
)
|
27
|
-
end
|
28
|
-
@items = items
|
29
|
-
end
|
30
|
-
|
31
|
-
def initialize(headers, body, query)
|
32
|
-
@query = query
|
33
|
-
@response = JSON.parse(body)
|
34
|
-
@content_link_url_resolver = query.content_link_url_resolver
|
35
|
-
@inline_content_item_resolver = query.inline_content_item_resolver
|
36
|
-
super 200,
|
37
|
-
"Success, #{items.length} items returned",
|
38
|
-
headers,
|
39
|
-
JSON.generate(@response)
|
40
|
-
end
|
41
|
-
|
42
|
-
def next_result
|
43
|
-
@query.update_continuation continuation_token
|
44
|
-
@query.execute
|
45
|
-
end
|
46
|
-
|
47
|
-
def more_results?
|
48
|
-
!continuation_token.nil?
|
49
|
-
end
|
50
|
-
|
51
|
-
def continuation_token
|
52
|
-
headers[Kentico::Kontent::Delivery::DeliveryQuery::HEADER_CONTINUATION]
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
1
|
+
require 'delivery/models/content_item'
|
2
|
+
require 'delivery/models/pagination'
|
3
|
+
require 'delivery/responses/response_base'
|
4
|
+
|
5
|
+
module Kentico
|
6
|
+
module Kontent
|
7
|
+
module Delivery
|
8
|
+
module Responses
|
9
|
+
# The response of a successful query for content items.
|
10
|
+
class DeliveryItemsFeedResponse < ResponseBase
|
11
|
+
# A collection of Kentico::Kontent::Delivery::ContentItem objects from
|
12
|
+
# a Kentico::Kontent::Delivery::DeliveryClient.items_feed call.
|
13
|
+
#
|
14
|
+
# * *Returns*:
|
15
|
+
# - +Array+ One or more Kentico::Kontent::Delivery::ContentItem objects
|
16
|
+
def items
|
17
|
+
@items unless @items.nil?
|
18
|
+
linked_items_resolver = Kentico::Kontent::Delivery::Resolvers::LinkedItemResolver.new @response['modular_content'], @content_link_url_resolver, @inline_content_item_resolver
|
19
|
+
items = []
|
20
|
+
@response['items'].each do |n|
|
21
|
+
items << Kentico::Kontent::Delivery::ContentItem.new(
|
22
|
+
n,
|
23
|
+
@content_link_url_resolver,
|
24
|
+
@inline_content_item_resolver,
|
25
|
+
linked_items_resolver
|
26
|
+
)
|
27
|
+
end
|
28
|
+
@items = items
|
29
|
+
end
|
30
|
+
|
31
|
+
def initialize(headers, body, query)
|
32
|
+
@query = query
|
33
|
+
@response = JSON.parse(body)
|
34
|
+
@content_link_url_resolver = query.content_link_url_resolver
|
35
|
+
@inline_content_item_resolver = query.inline_content_item_resolver
|
36
|
+
super 200,
|
37
|
+
"Success, #{items.length} items returned",
|
38
|
+
headers,
|
39
|
+
JSON.generate(@response)
|
40
|
+
end
|
41
|
+
|
42
|
+
def next_result
|
43
|
+
@query.update_continuation continuation_token
|
44
|
+
@query.execute
|
45
|
+
end
|
46
|
+
|
47
|
+
def more_results?
|
48
|
+
!continuation_token.nil?
|
49
|
+
end
|
50
|
+
|
51
|
+
def continuation_token
|
52
|
+
headers[Kentico::Kontent::Delivery::DeliveryQuery::HEADER_CONTINUATION]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -1,44 +1,44 @@
|
|
1
|
-
require 'delivery/models/language'
|
2
|
-
require 'delivery/responses/response_base'
|
3
|
-
|
4
|
-
module Kentico
|
5
|
-
module Kontent
|
6
|
-
module Delivery
|
7
|
-
module Responses
|
8
|
-
# The response of a successful query for project languages.
|
9
|
-
class DeliveryLanguageListingResponse < ResponseBase
|
10
|
-
# Parses the 'pagination' JSON node of the response.
|
11
|
-
#
|
12
|
-
# * *Returns*:
|
13
|
-
# - Kentico::Kontent::Delivery::Pagination
|
14
|
-
def pagination
|
15
|
-
@pagination unless @pagination.nil?
|
16
|
-
@pagination = Pagination.new @response['pagination']
|
17
|
-
end
|
18
|
-
|
19
|
-
# Parses the 'languages' JSON node of the response from a
|
20
|
-
# Kentico::Kontent::Delivery::DeliveryClient.languages call.
|
21
|
-
#
|
22
|
-
# * *Returns*:
|
23
|
-
# - +Array+ The content types as Kentico::Kontent::Delivery::Language objects
|
24
|
-
def languages
|
25
|
-
@languages unless @languages.nil?
|
26
|
-
languages = []
|
27
|
-
@response['languages'].each do |n|
|
28
|
-
languages << Kentico::Kontent::Delivery::Language.new(n)
|
29
|
-
end
|
30
|
-
@languages = languages
|
31
|
-
end
|
32
|
-
|
33
|
-
def initialize(headers, body)
|
34
|
-
@response = JSON.parse(body)
|
35
|
-
super 200,
|
36
|
-
"Success, #{languages.length} languages returned",
|
37
|
-
headers,
|
38
|
-
JSON.generate(@response)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
1
|
+
require 'delivery/models/language'
|
2
|
+
require 'delivery/responses/response_base'
|
3
|
+
|
4
|
+
module Kentico
|
5
|
+
module Kontent
|
6
|
+
module Delivery
|
7
|
+
module Responses
|
8
|
+
# The response of a successful query for project languages.
|
9
|
+
class DeliveryLanguageListingResponse < ResponseBase
|
10
|
+
# Parses the 'pagination' JSON node of the response.
|
11
|
+
#
|
12
|
+
# * *Returns*:
|
13
|
+
# - Kentico::Kontent::Delivery::Pagination
|
14
|
+
def pagination
|
15
|
+
@pagination unless @pagination.nil?
|
16
|
+
@pagination = Pagination.new @response['pagination']
|
17
|
+
end
|
18
|
+
|
19
|
+
# Parses the 'languages' JSON node of the response from a
|
20
|
+
# Kentico::Kontent::Delivery::DeliveryClient.languages call.
|
21
|
+
#
|
22
|
+
# * *Returns*:
|
23
|
+
# - +Array+ The content types as Kentico::Kontent::Delivery::Language objects
|
24
|
+
def languages
|
25
|
+
@languages unless @languages.nil?
|
26
|
+
languages = []
|
27
|
+
@response['languages'].each do |n|
|
28
|
+
languages << Kentico::Kontent::Delivery::Language.new(n)
|
29
|
+
end
|
30
|
+
@languages = languages
|
31
|
+
end
|
32
|
+
|
33
|
+
def initialize(headers, body)
|
34
|
+
@response = JSON.parse(body)
|
35
|
+
super 200,
|
36
|
+
"Success, #{languages.length} languages returned",
|
37
|
+
headers,
|
38
|
+
JSON.generate(@response)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -1,47 +1,47 @@
|
|
1
|
-
require 'delivery/models/taxonomy_group'
|
2
|
-
require 'delivery/models/pagination'
|
3
|
-
require 'delivery/responses/response_base'
|
4
|
-
|
5
|
-
module Kentico
|
6
|
-
module Kontent
|
7
|
-
module Delivery
|
8
|
-
module Responses
|
9
|
-
# The response of a successful query for taxonomy groups.
|
10
|
-
# See https://github.com/Kentico/kontent-delivery-sdk-ruby#taxonomy
|
11
|
-
class DeliveryTaxonomyListingResponse < ResponseBase
|
12
|
-
# Parses the 'pagination' JSON node of the response.
|
13
|
-
#
|
14
|
-
# * *Returns*:
|
15
|
-
# - Kentico::Kontent::Delivery::Pagination
|
16
|
-
def pagination
|
17
|
-
@pagination unless @pagination.nil?
|
18
|
-
@pagination = Pagination.new @response['pagination']
|
19
|
-
end
|
20
|
-
|
21
|
-
# Parses the 'taxonomies' JSON node of the response from a
|
22
|
-
# Kentico::Kontent::Delivery::DeliveryClient.taxonomies call.
|
23
|
-
#
|
24
|
-
# * *Returns*:
|
25
|
-
# - +Array+ The taxonomy groups as Kentico::Kontent::Delivery::TaxonomyGroup objects
|
26
|
-
def taxonomies
|
27
|
-
@taxonomies unless @taxonomies.nil?
|
28
|
-
taxonomies = []
|
29
|
-
@response['taxonomies'].each do |n|
|
30
|
-
taxonomies << Kentico::Kontent::Delivery::TaxonomyGroup.new(n)
|
31
|
-
end
|
32
|
-
@taxonomies = taxonomies
|
33
|
-
end
|
34
|
-
|
35
|
-
def initialize(headers, body)
|
36
|
-
@response = JSON.parse(body)
|
37
|
-
|
38
|
-
super 200,
|
39
|
-
"Success, #{taxonomies.length} taxonomies returned",
|
40
|
-
headers,
|
41
|
-
JSON.generate(@response)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
1
|
+
require 'delivery/models/taxonomy_group'
|
2
|
+
require 'delivery/models/pagination'
|
3
|
+
require 'delivery/responses/response_base'
|
4
|
+
|
5
|
+
module Kentico
|
6
|
+
module Kontent
|
7
|
+
module Delivery
|
8
|
+
module Responses
|
9
|
+
# The response of a successful query for taxonomy groups.
|
10
|
+
# See https://github.com/Kentico/kontent-delivery-sdk-ruby#taxonomy
|
11
|
+
class DeliveryTaxonomyListingResponse < ResponseBase
|
12
|
+
# Parses the 'pagination' JSON node of the response.
|
13
|
+
#
|
14
|
+
# * *Returns*:
|
15
|
+
# - Kentico::Kontent::Delivery::Pagination
|
16
|
+
def pagination
|
17
|
+
@pagination unless @pagination.nil?
|
18
|
+
@pagination = Pagination.new @response['pagination']
|
19
|
+
end
|
20
|
+
|
21
|
+
# Parses the 'taxonomies' JSON node of the response from a
|
22
|
+
# Kentico::Kontent::Delivery::DeliveryClient.taxonomies call.
|
23
|
+
#
|
24
|
+
# * *Returns*:
|
25
|
+
# - +Array+ The taxonomy groups as Kentico::Kontent::Delivery::TaxonomyGroup objects
|
26
|
+
def taxonomies
|
27
|
+
@taxonomies unless @taxonomies.nil?
|
28
|
+
taxonomies = []
|
29
|
+
@response['taxonomies'].each do |n|
|
30
|
+
taxonomies << Kentico::Kontent::Delivery::TaxonomyGroup.new(n)
|
31
|
+
end
|
32
|
+
@taxonomies = taxonomies
|
33
|
+
end
|
34
|
+
|
35
|
+
def initialize(headers, body)
|
36
|
+
@response = JSON.parse(body)
|
37
|
+
|
38
|
+
super 200,
|
39
|
+
"Success, #{taxonomies.length} taxonomies returned",
|
40
|
+
headers,
|
41
|
+
JSON.generate(@response)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -1,33 +1,33 @@
|
|
1
|
-
require 'delivery/models/taxonomy_group'
|
2
|
-
require 'delivery/responses/response_base'
|
3
|
-
|
4
|
-
module Kentico
|
5
|
-
module Kontent
|
6
|
-
module Delivery
|
7
|
-
module Responses
|
8
|
-
# The response of a successful query for a taxonomy group.
|
9
|
-
# See https://github.com/Kentico/kontent-delivery-sdk-ruby#taxonomy
|
10
|
-
class DeliveryTaxonomyResponse < ResponseBase
|
11
|
-
# Parses the response from a
|
12
|
-
# Kentico::Kontent::Delivery::DeliveryClient.taxonomy call.
|
13
|
-
#
|
14
|
-
# * *Returns*:
|
15
|
-
# - Kentico::Kontent::Delivery::TaxonomyGroup
|
16
|
-
def taxonomy
|
17
|
-
@taxonomy unless @taxonomy.nil?
|
18
|
-
@taxonomy = Kentico::Kontent::Delivery::TaxonomyGroup.new(@response)
|
19
|
-
end
|
20
|
-
|
21
|
-
def initialize(headers, body)
|
22
|
-
@response = JSON.parse(body)
|
23
|
-
|
24
|
-
super 200,
|
25
|
-
"Success, '#{taxonomy.system.codename}' returned",
|
26
|
-
headers,
|
27
|
-
JSON.generate(@response)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
1
|
+
require 'delivery/models/taxonomy_group'
|
2
|
+
require 'delivery/responses/response_base'
|
3
|
+
|
4
|
+
module Kentico
|
5
|
+
module Kontent
|
6
|
+
module Delivery
|
7
|
+
module Responses
|
8
|
+
# The response of a successful query for a taxonomy group.
|
9
|
+
# See https://github.com/Kentico/kontent-delivery-sdk-ruby#taxonomy
|
10
|
+
class DeliveryTaxonomyResponse < ResponseBase
|
11
|
+
# Parses the response from a
|
12
|
+
# Kentico::Kontent::Delivery::DeliveryClient.taxonomy call.
|
13
|
+
#
|
14
|
+
# * *Returns*:
|
15
|
+
# - Kentico::Kontent::Delivery::TaxonomyGroup
|
16
|
+
def taxonomy
|
17
|
+
@taxonomy unless @taxonomy.nil?
|
18
|
+
@taxonomy = Kentico::Kontent::Delivery::TaxonomyGroup.new(@response)
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(headers, body)
|
22
|
+
@response = JSON.parse(body)
|
23
|
+
|
24
|
+
super 200,
|
25
|
+
"Success, '#{taxonomy.system.codename}' returned",
|
26
|
+
headers,
|
27
|
+
JSON.generate(@response)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -1,46 +1,46 @@
|
|
1
|
-
require 'delivery/models/content_type'
|
2
|
-
require 'delivery/models/pagination'
|
3
|
-
require 'delivery/responses/response_base'
|
4
|
-
|
5
|
-
module Kentico
|
6
|
-
module Kontent
|
7
|
-
module Delivery
|
8
|
-
module Responses
|
9
|
-
# The response of a successful query for content types.
|
10
|
-
# See https://github.com/Kentico/kontent-delivery-sdk-ruby#retrieving-content-types
|
11
|
-
class DeliveryTypeListingResponse < ResponseBase
|
12
|
-
# Parses the 'pagination' JSON node of the response.
|
13
|
-
#
|
14
|
-
# * *Returns*:
|
15
|
-
# - Kentico::Kontent::Delivery::Pagination
|
16
|
-
def pagination
|
17
|
-
@pagination unless @pagination.nil?
|
18
|
-
@pagination = Pagination.new @response['pagination']
|
19
|
-
end
|
20
|
-
|
21
|
-
# Parses the 'types' JSON node of the response from a
|
22
|
-
# Kentico::Kontent::Delivery::DeliveryClient.types call.
|
23
|
-
#
|
24
|
-
# * *Returns*:
|
25
|
-
# - +Array+ The content types as Kentico::Kontent::Delivery::ContentType objects
|
26
|
-
def types
|
27
|
-
@types unless @types.nil?
|
28
|
-
types = []
|
29
|
-
@response['types'].each do |n|
|
30
|
-
types << Kentico::Kontent::Delivery::ContentType.new(n)
|
31
|
-
end
|
32
|
-
@types = types
|
33
|
-
end
|
34
|
-
|
35
|
-
def initialize(headers, body)
|
36
|
-
@response = JSON.parse(body)
|
37
|
-
super 200,
|
38
|
-
"Success, #{types.length} types returned",
|
39
|
-
headers,
|
40
|
-
JSON.generate(@response)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
1
|
+
require 'delivery/models/content_type'
|
2
|
+
require 'delivery/models/pagination'
|
3
|
+
require 'delivery/responses/response_base'
|
4
|
+
|
5
|
+
module Kentico
|
6
|
+
module Kontent
|
7
|
+
module Delivery
|
8
|
+
module Responses
|
9
|
+
# The response of a successful query for content types.
|
10
|
+
# See https://github.com/Kentico/kontent-delivery-sdk-ruby#retrieving-content-types
|
11
|
+
class DeliveryTypeListingResponse < ResponseBase
|
12
|
+
# Parses the 'pagination' JSON node of the response.
|
13
|
+
#
|
14
|
+
# * *Returns*:
|
15
|
+
# - Kentico::Kontent::Delivery::Pagination
|
16
|
+
def pagination
|
17
|
+
@pagination unless @pagination.nil?
|
18
|
+
@pagination = Pagination.new @response['pagination']
|
19
|
+
end
|
20
|
+
|
21
|
+
# Parses the 'types' JSON node of the response from a
|
22
|
+
# Kentico::Kontent::Delivery::DeliveryClient.types call.
|
23
|
+
#
|
24
|
+
# * *Returns*:
|
25
|
+
# - +Array+ The content types as Kentico::Kontent::Delivery::ContentType objects
|
26
|
+
def types
|
27
|
+
@types unless @types.nil?
|
28
|
+
types = []
|
29
|
+
@response['types'].each do |n|
|
30
|
+
types << Kentico::Kontent::Delivery::ContentType.new(n)
|
31
|
+
end
|
32
|
+
@types = types
|
33
|
+
end
|
34
|
+
|
35
|
+
def initialize(headers, body)
|
36
|
+
@response = JSON.parse(body)
|
37
|
+
super 200,
|
38
|
+
"Success, #{types.length} types returned",
|
39
|
+
headers,
|
40
|
+
JSON.generate(@response)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|