kontent-delivery-sdk-ruby 2.0.7 → 2.0.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f15d6504831ff409615c5246cefb03d1321b4afd54b948e10b020d720d95df6d
4
- data.tar.gz: 7712d740ab508da9855b256789dc0c2d683946571b536cbdab1f67c47d88a7e1
3
+ metadata.gz: 06b0e73160343a8de41de7a8db925bc10aa4c41731408a23942f601852ec00bd
4
+ data.tar.gz: 1920f1c86c61b75b0e70178cfb77014b926d51414ac6376ce485b3ddaa196843
5
5
  SHA512:
6
- metadata.gz: 4115b781c67632b2897208b159f22cac02af5aeeb39a6c050a54d40a71332ab36706881866564f67dd7b8446df43b6f80c5ad0dbf741ff3fd35c58e4c2bbb297
7
- data.tar.gz: a4d1548dc6a71f64926531c2f27e1eddcd7459191b80256a1ba9812721f1fcc14c47ee35d03fe19c14bee586b80660eb45d9b78d6abdc67a15cd0f07e4e8e24d
6
+ metadata.gz: 036a5de7909f8ac0be6a73193b1f8fbf934c42666ad83ef3ee819346d9b48c200cb5db5fe8006af17881ad058c21b10c1a437288a3d342996ffd7afadb303149
7
+ data.tar.gz: 2ebfa148a25fdb4585b8550e51ea0921338c79db07a6e8eff50e8a449e4a1c749f2f90044aefa5a97c27095b9b893292a6573725bc59029f7ee5228ae1329e02
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  [![Build Status](https://api.travis-ci.com/Kentico/kontent-delivery-sdk-ruby.svg?branch=master)](https://travis-ci.com/Kentico/kontent-delivery-sdk-ruby)
2
2
  [![Join the chat at https://kentico-community.slack.com](https://img.shields.io/badge/join-slack-E6186D.svg)](https://kentico-community.slack.com)
3
3
  [![Stack Overflow](https://img.shields.io/badge/Stack%20Overflow-ASK%20NOW-FE7A16.svg?logo=stackoverflow&logoColor=white)](https://stackoverflow.com/tags/kentico-kontent)
4
- [![Version](https://img.shields.io/gem/v/delivery-sdk-ruby.svg?style=flat)](https://rubygems.org/gems/delivery-sdk-ruby)
4
+ [![Version](https://img.shields.io/gem/v/kontent-delivery-sdk-ruby.svg?style=flat)](https://rubygems.org/gems/kontent-delivery-sdk-ruby)
5
5
  [![Maintainability](https://api.codeclimate.com/v1/badges/b2e3fae28a2b2601d815/maintainability)](https://codeclimate.com/github/Kentico/kontent-delivery-sdk-ruby/maintainability)
6
6
  [![Test coverage](https://api.codeclimate.com/v1/badges/b2e3fae28a2b2601d815/test_coverage)](https://codeclimate.com/github/Kentico/delivery-sdk-ruby/test_coverage)
7
7
 
@@ -37,7 +37,7 @@ The site should be accessible at localhost:3000. You can also follow a step-by-s
37
37
  To use the SDK in your own project, add the gem to your Gemfile:
38
38
 
39
39
  ```ruby
40
- gem 'delivery-sdk-ruby'
40
+ gem 'kontent-delivery-sdk-ruby'
41
41
  ```
42
42
 
43
43
  Then run `bundle install`. You can also download the gem from [RubyGems.org](https://rubygems.org/gems/delivery-sdk-ruby). To use the SDK in an `.rb` file, you need to require it:
@@ -213,7 +213,13 @@ delivery_client.items
213
213
 
214
214
  ### Responses
215
215
 
216
- All responses from the `.execute` method will be/extend the `Kentico::Kontent::Delivery::Responses::ResponseBase` class which contains an `http_code` attribute and a friendly message that can be displayed by calling `.to_s`. You can check the code to determine if the request was successful:
216
+ All responses from the `.execute` method will be/extend the `Kentico::Kontent::Delivery::Responses::ResponseBase` class which contains the following attributes:
217
+
218
+ - **http_code**: The HTTP status code of the response
219
+ - **headers**: The headers of the response
220
+ - **json**: The full JSON body of the response
221
+
222
+ You can check the response code to determine if the request was successful:
217
223
 
218
224
  ```ruby
219
225
  delivery_client.items.execute do |response|
@@ -223,6 +229,7 @@ delivery_client.items.execute do |response|
223
229
  when 401
224
230
  # Did you forget the secure key?
225
231
  else
232
+ # to_s displays a friendly message with details of the response
226
233
  puts response.to_s
227
234
  end
228
235
  end
@@ -66,36 +66,38 @@ module Kentico
66
66
  when Kentico::Kontent::Delivery::QUERY_TYPE_TAXONOMIES
67
67
  respond_taxonomy response
68
68
  when Kentico::Kontent::Delivery::QUERY_TYPE_ELEMENT
69
- Kentico::Kontent::Delivery::Responses::DeliveryElementResponse.new JSON.parse(response)
69
+ Kentico::Kontent::Delivery::Responses::DeliveryElementResponse.new response.headers, response.body
70
70
  end
71
71
  end
72
72
 
73
73
  def respond_type(response)
74
74
  if @query.code_name.nil?
75
- Kentico::Kontent::Delivery::Responses::DeliveryTypeListingResponse.new JSON.parse(response)
75
+ Kentico::Kontent::Delivery::Responses::DeliveryTypeListingResponse.new response.headers, response.body
76
76
  else
77
- Kentico::Kontent::Delivery::Responses::DeliveryTypeResponse.new JSON.parse(response)
77
+ Kentico::Kontent::Delivery::Responses::DeliveryTypeResponse.new response.headers, response.body
78
78
  end
79
79
  end
80
80
 
81
81
  def respond_taxonomy(response)
82
82
  if @query.code_name.nil?
83
- Kentico::Kontent::Delivery::Responses::DeliveryTaxonomyListingResponse.new JSON.parse(response)
83
+ Kentico::Kontent::Delivery::Responses::DeliveryTaxonomyListingResponse.new response.headers, response.body
84
84
  else
85
- Kentico::Kontent::Delivery::Responses::DeliveryTaxonomyResponse.new JSON.parse(response)
85
+ Kentico::Kontent::Delivery::Responses::DeliveryTaxonomyResponse.new response.headers, response.body
86
86
  end
87
87
  end
88
88
 
89
89
  def respond_item(response)
90
90
  if @query.code_name.nil?
91
91
  Kentico::Kontent::Delivery::Responses::DeliveryItemListingResponse.new(
92
- JSON.parse(response),
92
+ response.headers,
93
+ response.body,
93
94
  @query.content_link_url_resolver,
94
95
  @query.inline_content_item_resolver
95
96
  )
96
97
  else
97
98
  Kentico::Kontent::Delivery::Responses::DeliveryItemResponse.new(
98
- JSON.parse(response),
99
+ response.headers,
100
+ response.body,
99
101
  @query.content_link_url_resolver,
100
102
  @query.inline_content_item_resolver
101
103
  )
@@ -1,3 +1,5 @@
1
+ require 'cgi'
2
+
1
3
  module Kentico
2
4
  module Kontent
3
5
  module Delivery
@@ -6,7 +8,7 @@ module Kentico
6
8
  # QueryParameters will appear in the query string.
7
9
  class ParameterBase
8
10
  attr_accessor :key
9
- SEPARATOR = CGI.escape(',')
11
+ SEPARATOR = CGI::escape(',')
10
12
 
11
13
  # Constructor.
12
14
  #
@@ -20,10 +20,11 @@ module Kentico
20
20
  )
21
21
  end
22
22
 
23
- def initialize(response)
24
- @response = response
23
+ def initialize(headers, body)
24
+ @response = JSON.parse(body)
25
25
  super 200,
26
26
  "Success, '#{element.codename}' returned",
27
+ headers,
27
28
  JSON.generate(@response)
28
29
  end
29
30
  end
@@ -38,12 +38,13 @@ module Kentico
38
38
  @items = items
39
39
  end
40
40
 
41
- def initialize(response, content_link_url_resolver, inline_content_item_resolver)
42
- @response = response
41
+ def initialize(headers, body, content_link_url_resolver, inline_content_item_resolver)
42
+ @response = JSON.parse(body)
43
43
  @content_link_url_resolver = content_link_url_resolver
44
44
  @inline_content_item_resolver = inline_content_item_resolver
45
45
  super 200,
46
46
  "Success, #{items.length} items returned",
47
+ headers,
47
48
  JSON.generate(@response)
48
49
  end
49
50
  end
@@ -24,12 +24,13 @@ module Kentico
24
24
  )
25
25
  end
26
26
 
27
- def initialize(response, content_link_url_resolver, inline_content_item_resolver)
28
- @response = response
27
+ def initialize(headers, body, content_link_url_resolver, inline_content_item_resolver)
28
+ @response = JSON.parse(body)
29
29
  @content_link_url_resolver = content_link_url_resolver
30
30
  @inline_content_item_resolver = inline_content_item_resolver
31
31
  super 200,
32
32
  "Success, '#{item.system.codename}' returned",
33
+ headers,
33
34
  JSON.generate(@response)
34
35
  end
35
36
  end
@@ -32,11 +32,12 @@ module Kentico
32
32
  @taxonomies = taxonomies
33
33
  end
34
34
 
35
- def initialize(response)
36
- @response = response
35
+ def initialize(headers, body)
36
+ @response = JSON.parse(body)
37
37
 
38
38
  super 200,
39
39
  "Success, #{taxonomies.length} taxonomies returned",
40
+ headers,
40
41
  JSON.generate(@response)
41
42
  end
42
43
  end
@@ -18,11 +18,12 @@ module Kentico
18
18
  @taxonomy = Kentico::Kontent::Delivery::TaxonomyGroup.new(@response)
19
19
  end
20
20
 
21
- def initialize(response)
22
- @response = response
21
+ def initialize(headers, body)
22
+ @response = JSON.parse(body)
23
23
 
24
24
  super 200,
25
25
  "Success, '#{taxonomy.system.codename}' returned",
26
+ headers,
26
27
  JSON.generate(@response)
27
28
  end
28
29
  end
@@ -32,10 +32,11 @@ module Kentico
32
32
  @types = types
33
33
  end
34
34
 
35
- def initialize(response)
36
- @response = response
35
+ def initialize(headers, body)
36
+ @response = JSON.parse(body)
37
37
  super 200,
38
38
  "Success, #{types.length} types returned",
39
+ headers,
39
40
  JSON.generate(@response)
40
41
  end
41
42
  end
@@ -18,10 +18,11 @@ module Kentico
18
18
  @type = Kentico::Kontent::Delivery::ContentType.new(@response)
19
19
  end
20
20
 
21
- def initialize(response)
22
- @response = response
21
+ def initialize(headers, body)
22
+ @response = JSON.parse(body)
23
23
  super 200,
24
24
  "Success, type '#{type.system.codename}' returned",
25
+ headers,
25
26
  JSON.generate(@response)
26
27
  end
27
28
  end
@@ -7,6 +7,7 @@ module Kentico
7
7
  class ResponseBase
8
8
  attr_accessor :http_code,
9
9
  :message,
10
+ :headers,
10
11
  :json
11
12
 
12
13
  # Constructor.
@@ -14,10 +15,12 @@ module Kentico
14
15
  # * *Args*:
15
16
  # - *http_code* (+integer+) The status code returned by the REST request
16
17
  # - *message* (+string+) An informative message about the response, visible when calling +to_s+
18
+ # - *headers* (+hash+) The headers of the REST response
17
19
  # - *json* (+string+) _optional_ The complete, unmodified JSON response from the server
18
- def initialize(http_code, message, json = '')
20
+ def initialize(http_code, message, headers, json = '')
19
21
  self.http_code = http_code
20
22
  self.message = message
23
+ self.headers = headers
21
24
  self.json = json
22
25
  end
23
26
 
@@ -1,6 +1,7 @@
1
1
  require 'dotenv/load'
2
2
  require 'pathname'
3
3
  require 'cgi'
4
+ require 'ostruct'
4
5
 
5
6
  module Kentico
6
7
  module Kontent
@@ -39,7 +40,10 @@ module Kentico
39
40
 
40
41
  def respond_generic(url)
41
42
  path = Pathname.new(File.dirname(__FILE__) + "/generic#{url}.json")
42
- path.read if path.exist?
43
+ OpenStruct.new(
44
+ headers: '',
45
+ body: path.read
46
+ )
43
47
  end
44
48
 
45
49
  def respond_filtering(query)
@@ -52,12 +56,16 @@ module Kentico
52
56
  when 'elements.price[gt]=20&system.type=grinder'
53
57
  Pathname.new(File.dirname(__FILE__) + '/filtering/multiple.json')
54
58
  end
55
- path.read unless path.nil? && !path.exist?
59
+ OpenStruct.new(
60
+ headers: '',
61
+ body: path.read
62
+ )
63
+ ##Kentico::Kontent::Delivery::Responses::ResponseBase.new 200, '', '', path.read if path.exist?
56
64
  end
57
65
 
58
66
  def respond_401
59
67
  path = Pathname.new(File.dirname(__FILE__) + '/401.json')
60
- Kentico::Kontent::Delivery::Responses::ResponseBase.new 401, '', path.read if path.exist?
68
+ Kentico::Kontent::Delivery::Responses::ResponseBase.new 401, '', '', path.read if path.exist?
61
69
  end
62
70
  end
63
71
  end
@@ -1,7 +1,7 @@
1
1
  module Kentico
2
2
  module Kontent
3
3
  module Delivery
4
- VERSION = '2.0.7'.freeze
4
+ VERSION = '2.0.9'.freeze
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kontent-delivery-sdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.7
4
+ version: 2.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Dugre