contentful-management 0.4.1 → 0.5.0

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
  SHA1:
3
- metadata.gz: 3581e8a67bd30789f1753d50366dd02c028574e8
4
- data.tar.gz: dffc8dcf5386575390b69436a75a9abd036ed002
3
+ metadata.gz: 3ae13b9bb15ea88eab394450ef29325340fe48e8
4
+ data.tar.gz: 67bcdac156d68a6d35da893472bc3aa0f4d0f4b7
5
5
  SHA512:
6
- metadata.gz: 4819aeb31c3f48c551657df81db59e7d38e84004936192a1c571490fa1c8f57aaf3fac1727e5db13c289ea5ff6e85db8a96fff47ecf165020b483af5b4d23774
7
- data.tar.gz: f853268626e356f0f0b6a05d4faf93ba3b8408170345fbff74668caddbf996cee9395b089d54df1887ccfbd951ea6ccba43067f3115a49cf451e05d3930e5446
6
+ metadata.gz: 41d3ca3acf06a94f24a08be3e773734b75d90c7f4cd41aa14341aa4ae90252ad749ec97f4fdfb234d29614cf205f44cd4785162fe762fd1e894f3e70d2800393
7
+ data.tar.gz: b2e8e16655c8ddbab2e187b7332e8ebf5cfbb5e38d72a1d21fc349214363c6490a738d7d3cb4d3ca46ea0f3f8ceca2c4373b412c307f2c1ab4d1c5b6726262cc
data/.gitignore CHANGED
@@ -22,3 +22,4 @@ tmp
22
22
  mkmf.log
23
23
  .idea
24
24
  .idea/**/*
25
+ .DS_STORE
@@ -1,5 +1,13 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.5.0
4
+ ### Added
5
+ * Allow setting a default locale when creating a space [#43](https://github.com/contentful/contentful-management.rb/pull/43)
6
+
7
+ ### Fixed
8
+ * Handle `UnprocessableEntity` (HTTP 422) as its own error. [#42](https://github.com/contentful/contentful-management.rb/pull/42)
9
+
10
+
3
11
  ## 0.4.1
4
12
  ### Fixed
5
13
  * Handle 409 responses as errors [#39](https://github.com/contentful/contentful-management.rb/pull/39)
@@ -9,9 +17,11 @@
9
17
  * Return Keep attribute if it's already a hash [#33](https://github.com/contentful/contentful-management.rb/pull/33)
10
18
  * Typo in header [#34](https://github.com/contentful/contentful-management.rb/pull/34)
11
19
  * Items are nil when creating an array field for a content type [#35](https://github.com/contentful/contentful-management.rb/issues/35)
20
+
12
21
  ### Added
13
22
  * `raise_errors` can be enabled, disabled by default [#38](https://github.com/contentful/contentful-management.rb/pull/38)
14
23
 
24
+
15
25
  ## 0.3.1
16
26
  ### Added
17
27
  * Logging of requests
@@ -25,58 +35,66 @@
25
35
  * Cleaned the code
26
36
  * Remove encoding strings from the source code files
27
37
 
38
+
28
39
  ## 0.2.1
29
40
  ### Fixed
30
- * Fix: Use array for symbols in entry fields
41
+ * Use array for symbols in entry fields
42
+
31
43
 
32
44
  ## 0.2.0
33
45
  ### Fixed
34
- * Fix: create entry with multiple locales, skip attributes for not localized fields in content types
35
- * Fix: reload Assets
46
+ * create entry with multiple locales, skip attributes for not localized fields in content types
47
+ * reload Assets
36
48
 
37
49
  ### Added
38
50
  * Add optional gzip encoding
39
51
 
52
+
40
53
  ## 0.1.0
41
54
  ### Added
42
55
  * Support for web hooks
43
56
  * Image url to asset
44
57
 
45
58
  ### Fixed
46
- * Fix: remove implicit processing of assets.
47
- * Fix: Gem is modifying nil #17
48
- * Fix: rename asset.process_files to asset.process
59
+ * remove implicit processing of assets.
60
+ * Gem is modifying nil #17
61
+ * rename asset.process_files to asset.process
49
62
 
50
63
  ### Other
51
64
  * Cleaning code
52
65
 
66
+
53
67
  ## 0.0.3
54
68
  ### Added:
55
69
  * More documentation
56
70
 
57
71
  ### Fixed:
58
- * Fix: next_page feature
59
- * Fix: create entry with specific locale
60
- * Fix: service unavailable error (503)
61
- * Fix: reload method on objects
72
+ * next_page feature
73
+ * create entry with specific locale
74
+ * service unavailable error (503)
75
+ * reload method on objects
76
+
62
77
  ### Other
63
78
  * Code cleanup
64
79
 
80
+
65
81
  ## 0.0.2
66
82
  ### Fixed
67
83
  * Fix: Convert an Entry to a DynamicEntry after being created.
68
84
 
85
+
69
86
  ## 0.0.1
70
87
  ### Added
71
- * Adding rdoc
72
- * Adding filter by content_type id
88
+ * rdoc
89
+ * filter by content_type id
73
90
 
74
91
  ### Fixed
75
- * Fix: Headers not properly cleared between requests
76
- * Fix: Create entries with custom identifier
92
+ * Headers not properly cleared between requests
93
+ * Create entries with custom identifier
77
94
 
78
95
  ### Other
79
96
  * Code cleanup
80
97
 
98
+
81
99
  ## 0.0.1-pre
82
100
  * alpha pre-release
data/README.md CHANGED
@@ -69,6 +69,11 @@ or in the context of the organization (if you have multiple organizations within
69
69
  blog_space = Contentful::Management::Space.create(name: 'Blog Space', organization_id: 'organization_id')
70
70
  ```
71
71
 
72
+ If you want to create a default locale different from `en-US`:
73
+ ```ruby
74
+ blog_space = Contentful::Management::Space.create(name: 'Blog Space', default_locale: 'de-DE')
75
+ ```
76
+
72
77
  Updating a space:
73
78
 
74
79
  ```ruby
@@ -314,7 +319,7 @@ entries = blog_space.entries.all
314
319
  Retrieving all entries from the space with given content type:
315
320
 
316
321
  ```ruby
317
- entries = blog_space.entries.all(content_type_id: content_type.id)
322
+ entries = blog_space.entries.all(content_type: content_type.id)
318
323
  ```
319
324
 
320
325
  or
@@ -454,12 +459,12 @@ Takes optional min and max parameters and validates the size of the array (numbe
454
459
  ```ruby
455
460
  validation_size = Contentful::Management::Validation.new
456
461
  validation_size.size = { min: 10, max: 15 }
457
- blog_post_content_type.fields.create(id: 'valid', name: 'Test In', type: 'Text', validations: [validation_size])
462
+ blog_post_content_type.fields.create(id: 'valid', name: 'Test SIZE', type: 'Text', validations: [validation_size])
458
463
  ```
459
464
 
460
465
  #### range
461
466
 
462
- Takes a string that reflects a JS regex and flags, validates against a string. See JS Reference for the parameters.
467
+ Takes optional min and max parameters and validates the range of a value.
463
468
 
464
469
  ```ruby
465
470
  validation_range = Contentful::Management::Validation.new
@@ -484,7 +489,7 @@ Takes an array of content type ids and validates that the link points to an entr
484
489
  ```ruby
485
490
  validation_link_content_type = Contentful::Management::Validation.new
486
491
  validation_link_content_type.link_content_type = ['post_content_type_id']
487
- blog_post_content_type.fields.create(id: 'entry', name: 'Regex', type: 'Entry', validations: [validation_link_content_type])
492
+ blog_post_content_type.fields.create(id: 'entry', name: 'Test linkContentType', type: 'Entry', validations: [validation_link_content_type])
488
493
  ```
489
494
 
490
495
  #### linkMimetypeGroup
@@ -43,7 +43,7 @@ module Contentful
43
43
  locale = attributes[:locale]
44
44
  asset = new
45
45
  asset.instance_variable_set(:@fields, attributes[:fields] || {})
46
- asset.locale = attributes[:locale] if attributes[:locale]
46
+ asset.locale = attributes[:locale] || client.default_locale
47
47
  asset.title = attributes[:title] if attributes[:title]
48
48
  asset.description = attributes[:description] if attributes[:description]
49
49
  asset.file = attributes[:file] if attributes[:file]
@@ -24,6 +24,8 @@ module Contentful
24
24
  Conflict
25
25
  when 401
26
26
  Unauthorized
27
+ when 422
28
+ UnprocessableEntity
27
29
  when 500
28
30
  ServerError
29
31
  when 503
@@ -49,10 +51,14 @@ module Contentful
49
51
  # 401
50
52
  class Unauthorized < Error
51
53
  end
52
-
54
+
53
55
  # 409
54
56
  class Conflict < Error
55
57
  end
58
+
59
+ # 422
60
+ class UnprocessableEntity < Error
61
+ end
56
62
 
57
63
  # 500
58
64
  class ServerError < Error
@@ -32,7 +32,7 @@ module Contentful
32
32
  parse_json!
33
33
  elsif no_content_response?
34
34
  @status = :no_content
35
- elsif no_resource_or_bad_request?
35
+ elsif resource_error?
36
36
  parse_contentful_error
37
37
  else
38
38
  parse_http_error
@@ -60,8 +60,8 @@ module Contentful
60
60
  @object = Error[raw.status].new(self)
61
61
  end
62
62
 
63
- def no_resource_or_bad_request?
64
- [400, 404].include?(raw.status)
63
+ def resource_error?
64
+ [400, 404, 422].include?(raw.status)
65
65
  end
66
66
 
67
67
  def no_content_response?
@@ -21,6 +21,7 @@ module Contentful
21
21
 
22
22
  property :name, :string
23
23
  property :organization, :string
24
+ property :default_locale, :string
24
25
  property :locales, Locale
25
26
 
26
27
  # Gets a collection of spaces.
@@ -50,9 +51,10 @@ module Contentful
50
51
  # Takes a hash of attributes with optional organization id if client has more than one organization.
51
52
  # Returns a Contentful::Management::Space.
52
53
  def self.create(attributes)
54
+ default_locale = attributes[:default_locale] || client.default_locale
53
55
  request = Request.new(
54
56
  '',
55
- {'name' => attributes.fetch(:name)},
57
+ {'name' => attributes.fetch(:name), defaultLocale: default_locale},
56
58
  id = nil,
57
59
  organization_id: attributes[:organization_id]
58
60
  )
@@ -1,5 +1,5 @@
1
1
  module Contentful
2
2
  module Management
3
- VERSION = '0.4.1'
3
+ VERSION = '0.5.0'
4
4
  end
5
5
  end
@@ -0,0 +1,187 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.contentful.com/spaces
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"name":"new space","defaultLocale":"pl-PL"}'
9
+ headers:
10
+ User-Agent:
11
+ - RubyContentfulManagementGem/0.4.1
12
+ Authorization:
13
+ - Bearer <ACCESS_TOKEN>
14
+ Content-Type:
15
+ - application/vnd.contentful.management.v1+json
16
+ X-Contentful-Organization:
17
+ - 1EQPR5IHrPx94UY4AViTYO
18
+ Host:
19
+ - api.contentful.com
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Accept-Ranges:
26
+ - bytes
27
+ Access-Control-Allow-Headers:
28
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation
29
+ Access-Control-Allow-Methods:
30
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Access-Control-Expose-Headers:
34
+ - Etag
35
+ Access-Control-Max-Age:
36
+ - '1728000'
37
+ Cache-Control:
38
+ - max-age=0
39
+ Content-Type:
40
+ - application/vnd.contentful.management.v1+json
41
+ Date:
42
+ - Wed, 26 Nov 2014 08:05:56 GMT
43
+ Etag:
44
+ - '"990079f8976c99c08d757eb086729c52"'
45
+ Location:
46
+ - https://api.contentful.com/spaces/1j2osuxmfs25
47
+ Server:
48
+ - nginx
49
+ Status:
50
+ - 201 Created
51
+ X-Contentful-Request-Id:
52
+ - 71a-1097168226
53
+ Content-Length:
54
+ - '450'
55
+ Connection:
56
+ - keep-alive
57
+ body:
58
+ encoding: UTF-8
59
+ string: |
60
+ {
61
+ "sys":{
62
+ "type":"Space",
63
+ "id":"1j2osuxmfs25",
64
+ "version":1,
65
+ "createdBy":{
66
+ "sys":{
67
+ "type":"Link",
68
+ "linkType":"User",
69
+ "id":"1E7acJL8I5XUXAMHQt9Grs"
70
+ }
71
+ },
72
+ "createdAt":"2014-11-26T08:05:52Z",
73
+ "updatedBy":{
74
+ "sys":{
75
+ "type":"Link",
76
+ "linkType":"User",
77
+ "id":"1E7acJL8I5XUXAMHQt9Grs"
78
+ }
79
+ },
80
+ "updatedAt":"2014-11-26T08:05:53Z"
81
+ },
82
+ "name":"new space"}
83
+ http_version:
84
+ recorded_at: Wed, 26 Nov 2014 08:05:57 GMT
85
+ - request:
86
+ method: get
87
+ uri: https://api.contentful.com/spaces/1j2osuxmfs25/locales
88
+ body:
89
+ encoding: US-ASCII
90
+ string: ''
91
+ headers:
92
+ User-Agent:
93
+ - RubyContentfulManagementGem/0.4.1
94
+ Authorization:
95
+ - Bearer <ACCESS_TOKEN>
96
+ Content-Type:
97
+ - application/vnd.contentful.management.v1+json
98
+ Content-Length:
99
+ - '0'
100
+ Host:
101
+ - api.contentful.com
102
+ response:
103
+ status:
104
+ code: 200
105
+ message: OK
106
+ headers:
107
+ Accept-Ranges:
108
+ - bytes
109
+ Access-Control-Allow-Headers:
110
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation
111
+ Access-Control-Allow-Methods:
112
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
113
+ Access-Control-Allow-Origin:
114
+ - "*"
115
+ Access-Control-Expose-Headers:
116
+ - Etag
117
+ Access-Control-Max-Age:
118
+ - '1728000'
119
+ Cache-Control:
120
+ - max-age=0
121
+ Content-Type:
122
+ - application/vnd.contentful.management.v1+json
123
+ Date:
124
+ - Wed, 26 Nov 2014 08:05:56 GMT
125
+ Etag:
126
+ - '"e003b11a376b701bdbeed0165cf21b44"'
127
+ Server:
128
+ - nginx
129
+ Status:
130
+ - 200 OK
131
+ X-Contentful-Request-Id:
132
+ - f1c-641211146
133
+ Content-Length:
134
+ - '930'
135
+ Connection:
136
+ - keep-alive
137
+ body:
138
+ encoding: UTF-8
139
+ string: |
140
+ {
141
+ "sys":{
142
+ "type":"Array"
143
+ },
144
+ "items":[
145
+ {
146
+ "sys":{
147
+ "type":"Locale",
148
+ "id":"7wpzPPTX0QahGa7rVtE6MR",
149
+ "version":0,
150
+ "space":{
151
+ "sys":{
152
+ "type":"Link",
153
+ "linkType":"Space",
154
+ "id":"1j2osuxmfs25"
155
+ }
156
+ },
157
+ "createdBy":{
158
+ "sys":{
159
+ "type":"Link",
160
+ "linkType":"User",
161
+ "id":"1E7acJL8I5XUXAMHQt9Grs"
162
+ }
163
+ },
164
+ "createdAt":"2014-11-26T08:05:53Z",
165
+ "updatedBy":{
166
+ "sys":{
167
+ "type":"Link",
168
+ "linkType":"User",
169
+ "id":"1E7acJL8I5XUXAMHQt9Grs"
170
+ }
171
+ },
172
+ "updatedAt":"2014-11-26T08:05:53Z"
173
+ },
174
+ "name":"pl-PL",
175
+ "code":"pl-PL",
176
+ "default":true,
177
+ "contentManagementApi":true,
178
+ "publish":true,
179
+ "contentDeliveryApi":true
180
+ }
181
+ ],
182
+ "total":1,
183
+ "limit":25,
184
+ "skip":0}
185
+ http_version:
186
+ recorded_at: Wed, 26 Nov 2014 08:05:57 GMT
187
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,187 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.contentful.com/spaces
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"name":"pl space","defaultLocale":"pl-pl"}'
9
+ headers:
10
+ User-Agent:
11
+ - RubyContentfulManagementGem/0.4.1
12
+ Authorization:
13
+ - Bearer <ACCESS_TOKEN>
14
+ Content-Type:
15
+ - application/vnd.contentful.management.v1+json
16
+ X-Contentful-Organization:
17
+ - 1EQPR5IHrPx94UY4AViTYO
18
+ Host:
19
+ - api.contentful.com
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Accept-Ranges:
26
+ - bytes
27
+ Access-Control-Allow-Headers:
28
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation
29
+ Access-Control-Allow-Methods:
30
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Access-Control-Expose-Headers:
34
+ - Etag
35
+ Access-Control-Max-Age:
36
+ - '1728000'
37
+ Cache-Control:
38
+ - max-age=0
39
+ Content-Type:
40
+ - application/vnd.contentful.management.v1+json
41
+ Date:
42
+ - Tue, 25 Nov 2014 15:44:02 GMT
43
+ Etag:
44
+ - '"d7bbe1d4a322e2d57c8ae5f6e60bb920"'
45
+ Location:
46
+ - https://api.contentful.com/spaces/xg3e2w77diga
47
+ Server:
48
+ - nginx
49
+ Status:
50
+ - 201 Created
51
+ X-Contentful-Request-Id:
52
+ - 71a-1096805342
53
+ Content-Length:
54
+ - '449'
55
+ Connection:
56
+ - keep-alive
57
+ body:
58
+ encoding: UTF-8
59
+ string: |
60
+ {
61
+ "sys":{
62
+ "type":"Space",
63
+ "id":"xg3e2w77diga",
64
+ "version":1,
65
+ "createdBy":{
66
+ "sys":{
67
+ "type":"Link",
68
+ "linkType":"User",
69
+ "id":"1E7acJL8I5XUXAMHQt9Grs"
70
+ }
71
+ },
72
+ "createdAt":"2014-11-25T15:43:59Z",
73
+ "updatedBy":{
74
+ "sys":{
75
+ "type":"Link",
76
+ "linkType":"User",
77
+ "id":"1E7acJL8I5XUXAMHQt9Grs"
78
+ }
79
+ },
80
+ "updatedAt":"2014-11-25T15:43:59Z"
81
+ },
82
+ "name":"pl space"}
83
+ http_version:
84
+ recorded_at: Tue, 25 Nov 2014 15:44:01 GMT
85
+ - request:
86
+ method: get
87
+ uri: https://api.contentful.com/spaces/xg3e2w77diga/locales
88
+ body:
89
+ encoding: US-ASCII
90
+ string: ''
91
+ headers:
92
+ User-Agent:
93
+ - RubyContentfulManagementGem/0.4.1
94
+ Authorization:
95
+ - Bearer <ACCESS_TOKEN>
96
+ Content-Type:
97
+ - application/vnd.contentful.management.v1+json
98
+ Content-Length:
99
+ - '0'
100
+ Host:
101
+ - api.contentful.com
102
+ response:
103
+ status:
104
+ code: 200
105
+ message: OK
106
+ headers:
107
+ Accept-Ranges:
108
+ - bytes
109
+ Access-Control-Allow-Headers:
110
+ - Accept,Accept-Language,Authorization,Cache-Control,Content-Length,Content-Range,Content-Type,DNT,Destination,Expires,If-Match,If-Modified-Since,If-None-Match,Keep-Alive,Last-Modified,Origin,Pragma,Range,User-Agent,X-Http-Method-Override,X-Mx-ReqToken,X-Requested-With,X-Contentful-Version,X-Contentful-Content-Type,X-Contentful-Organization,X-Contentful-Skip-Transformation
111
+ Access-Control-Allow-Methods:
112
+ - DELETE,GET,HEAD,POST,PUT,OPTIONS
113
+ Access-Control-Allow-Origin:
114
+ - "*"
115
+ Access-Control-Expose-Headers:
116
+ - Etag
117
+ Access-Control-Max-Age:
118
+ - '1728000'
119
+ Cache-Control:
120
+ - max-age=0
121
+ Content-Type:
122
+ - application/vnd.contentful.management.v1+json
123
+ Date:
124
+ - Tue, 25 Nov 2014 15:44:03 GMT
125
+ Etag:
126
+ - '"b00d24c14d4099a3e87619f20153ce85"'
127
+ Server:
128
+ - nginx
129
+ Status:
130
+ - 200 OK
131
+ X-Contentful-Request-Id:
132
+ - 85f-1322536095
133
+ Content-Length:
134
+ - '930'
135
+ Connection:
136
+ - keep-alive
137
+ body:
138
+ encoding: UTF-8
139
+ string: |
140
+ {
141
+ "sys":{
142
+ "type":"Array"
143
+ },
144
+ "items":[
145
+ {
146
+ "sys":{
147
+ "type":"Locale",
148
+ "id":"6cYjTjEe9oaQnaVHWVGuIZ",
149
+ "version":0,
150
+ "space":{
151
+ "sys":{
152
+ "type":"Link",
153
+ "linkType":"Space",
154
+ "id":"xg3e2w77diga"
155
+ }
156
+ },
157
+ "createdBy":{
158
+ "sys":{
159
+ "type":"Link",
160
+ "linkType":"User",
161
+ "id":"1E7acJL8I5XUXAMHQt9Grs"
162
+ }
163
+ },
164
+ "createdAt":"2014-11-25T15:43:59Z",
165
+ "updatedBy":{
166
+ "sys":{
167
+ "type":"Link",
168
+ "linkType":"User",
169
+ "id":"1E7acJL8I5XUXAMHQt9Grs"
170
+ }
171
+ },
172
+ "updatedAt":"2014-11-25T15:43:59Z"
173
+ },
174
+ "name":"pl-pl",
175
+ "code":"pl-pl",
176
+ "default":true,
177
+ "contentManagementApi":true,
178
+ "publish":true,
179
+ "contentDeliveryApi":true
180
+ }
181
+ ],
182
+ "total":1,
183
+ "limit":25,
184
+ "skip":0}
185
+ http_version:
186
+ recorded_at: Tue, 25 Nov 2014 15:44:02 GMT
187
+ recorded_with: VCR 2.9.3
@@ -37,6 +37,12 @@ module Contentful
37
37
  expect(result).to be_kind_of Contentful::Management::NotFound
38
38
  end
39
39
  end
40
+ it 'returns space for a given key' do
41
+ vcr('space/find') do
42
+ space = subject.find(space_id)
43
+ expect(space.id).to eql space_id
44
+ end
45
+ end
40
46
  end
41
47
 
42
48
  describe '#destroy' do
@@ -78,6 +84,25 @@ module Contentful
78
84
  expect(space).to be_kind_of Contentful::Management::AccessDenied
79
85
  end
80
86
  end
87
+ context 'create with locale' do
88
+ it 'creates a space within a specified default locale' do
89
+ vcr('space/create_with_locale') do
90
+ space = subject.create(name: 'pl space', organization_id: '1EQPR5IHrPx94UY4AViTYO', default_locale: 'pl-pl')
91
+ expect(space).to be_kind_of Contentful::Management::Space
92
+ expect(space.name).to eq 'pl space'
93
+ expect(space.locales.all.first.code).to eql 'pl-pl'
94
+ end
95
+ end
96
+ it 'creates a space within a client default locale' do
97
+ vcr('space/create_with_client_default_locale') do
98
+ Client.new('<ACCESS_TOKEN>', default_locale: 'pl-PL')
99
+ space = subject.create(name: 'new space', organization_id: '1EQPR5IHrPx94UY4AViTYO')
100
+ expect(space).to be_kind_of Contentful::Management::Space
101
+ expect(space.name).to eq 'new space'
102
+ expect(space.locales.all.first.code).to eql 'pl-PL'
103
+ end
104
+ end
105
+ end
81
106
  end
82
107
 
83
108
  describe '#update' do
@@ -172,7 +197,8 @@ module Contentful
172
197
  publish: true,
173
198
  contentDeliveryApi: true,
174
199
  code: 'ru-RU')
175
- expect(locale).to be_kind_of Contentful::Management::Error
200
+ expect(locale).to be_kind_of Contentful::Management::UnprocessableEntity
201
+ expect(locale.response.error_message).to eql 'The resource you sent in the body is invalid.'
176
202
  end
177
203
  end
178
204
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contentful-management
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Protas
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-11-07 00:00:00.000000000 Z
13
+ date: 2014-12-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: http
@@ -383,6 +383,8 @@ files:
383
383
  - spec/fixtures/vcr_cassettes/space/content_type/find.yml
384
384
  - spec/fixtures/vcr_cassettes/space/create.yml
385
385
  - spec/fixtures/vcr_cassettes/space/create_when_limit_has_been_reached.yml
386
+ - spec/fixtures/vcr_cassettes/space/create_with_client_default_locale.yml
387
+ - spec/fixtures/vcr_cassettes/space/create_with_locale.yml
386
388
  - spec/fixtures/vcr_cassettes/space/create_with_unknown_organization.yml
387
389
  - spec/fixtures/vcr_cassettes/space/create_without_organization.yml
388
390
  - spec/fixtures/vcr_cassettes/space/destory.yml
@@ -612,6 +614,8 @@ test_files:
612
614
  - spec/fixtures/vcr_cassettes/space/content_type/find.yml
613
615
  - spec/fixtures/vcr_cassettes/space/create.yml
614
616
  - spec/fixtures/vcr_cassettes/space/create_when_limit_has_been_reached.yml
617
+ - spec/fixtures/vcr_cassettes/space/create_with_client_default_locale.yml
618
+ - spec/fixtures/vcr_cassettes/space/create_with_locale.yml
615
619
  - spec/fixtures/vcr_cassettes/space/create_with_unknown_organization.yml
616
620
  - spec/fixtures/vcr_cassettes/space/create_without_organization.yml
617
621
  - spec/fixtures/vcr_cassettes/space/destory.yml