storageroom-to-contentful 0.0.4 → 0.0.5

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: 0cb61b017fd2709774ae5f7b4a90278a856e5e3f
4
- data.tar.gz: 177892430ef55b4cb4d235513728aff560260423
3
+ metadata.gz: 79a184621db4c5e848f97f4bc4a6674b0f8425ee
4
+ data.tar.gz: 555a9a24648e6086260bc32842ef46274a285160
5
5
  SHA512:
6
- metadata.gz: fb3b12ff8b2b4784f59a917e720297cd721bff7df2d2467fc254680a7e4cbb36b9ec6242d0335f37df93c2b2cb8fe3222383e019c646f096b6aeeb318bc0e85f
7
- data.tar.gz: 0bd37d017e8c36aadfb5b20af07482a93dcc0a4b79b132a9c0bded933d796258187c1052f670ac5c39e88c85d3db04b183281fb5ce20953ceb250faee597e1fe
6
+ metadata.gz: 38642fd6df22cc4265cf32b380fa787013ba4904f926964d36cc6f195bc38cd1a173f83d681bae504ef68bb9d7e93ff0781a6edcfd4a246d7fddc87dcae389a5
7
+ data.tar.gz: a46e519ec3598ec7427cddf28486cd3d6b7f20681fdad47f8dac81e7dd22585b6aff6e25f4479e6febacad49a838cc05006c1de919b6b86b898972e5e552a48a
@@ -1,14 +1,17 @@
1
1
  # Change Log
2
2
 
3
- ## 0.0.4 - 2014-10-07
3
+ ## 0.0.5 - 2014-10.31
4
4
  ### Fixed
5
- * Storage Room export only exporting the first 20 records #19
5
+ * Create content type fields with a single request [#34](https://github.com/contentful/storageroom-to-contentful.rb/pull/24)
6
6
 
7
+ ## 0.0.4 - 2014-10-07
7
8
  ### Added
8
9
  * Test for StorageRoom and Contentful credentials
9
10
 
10
11
  ### Fixed
11
12
  * Import StorageRoom Array as Contentful Array
13
+ * Storage Room export only exporting the first 20 records #19
14
+
12
15
 
13
16
  ## 0.0.3 - 2014-09-26
14
17
  ### Added
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- storageroom-to-contentful (0.0.4)
4
+ storageroom-to-contentful (0.0.5)
5
5
  contentful-management (~> 0.2)
6
6
  http (~> 0.6)
7
7
  i18n (~> 0.6)
@@ -14,7 +14,7 @@ GEM
14
14
  ast (2.0.0)
15
15
  astrolabe (1.3.0)
16
16
  parser (>= 2.2.0.pre.3, < 3.0)
17
- contentful-management (0.2.1)
17
+ contentful-management (0.3.1)
18
18
  http (~> 0.6)
19
19
  multi_json (~> 1)
20
20
  crack (0.4.2)
@@ -25,7 +25,7 @@ GEM
25
25
  http_parser.rb (0.6.0)
26
26
  i18n (0.6.11)
27
27
  multi_json (1.10.1)
28
- parser (2.2.0.pre.5)
28
+ parser (2.2.0.pre.6)
29
29
  ast (>= 1.1, < 3.0)
30
30
  slop (~> 3.4, >= 3.4.5)
31
31
  powerpack (0.0.9)
@@ -35,25 +35,25 @@ GEM
35
35
  rspec-core (~> 3.1.0)
36
36
  rspec-expectations (~> 3.1.0)
37
37
  rspec-mocks (~> 3.1.0)
38
- rspec-core (3.1.5)
38
+ rspec-core (3.1.7)
39
39
  rspec-support (~> 3.1.0)
40
40
  rspec-expectations (3.1.2)
41
41
  diff-lcs (>= 1.2.0, < 2.0)
42
42
  rspec-support (~> 3.1.0)
43
- rspec-mocks (3.1.2)
43
+ rspec-mocks (3.1.3)
44
44
  rspec-support (~> 3.1.0)
45
- rspec-support (3.1.1)
46
- rubocop (0.26.1)
45
+ rspec-support (3.1.2)
46
+ rubocop (0.27.0)
47
47
  astrolabe (~> 1.3)
48
- parser (>= 2.2.0.pre.4, < 3.0)
48
+ parser (>= 2.2.0.pre.6, < 3.0)
49
49
  powerpack (~> 0.0.6)
50
50
  rainbow (>= 1.99.1, < 3.0)
51
51
  ruby-progressbar (~> 1.4)
52
- ruby-progressbar (1.6.0)
52
+ ruby-progressbar (1.6.1)
53
53
  safe_yaml (1.0.4)
54
54
  slop (3.6.0)
55
55
  vcr (2.9.3)
56
- webmock (1.19.0)
56
+ webmock (1.20.0)
57
57
  addressable (>= 2.3.6)
58
58
  crack (>= 0.3.2)
59
59
 
@@ -42,7 +42,7 @@ class ContentfulImporter
42
42
  def import_content_types
43
43
  Dir.glob("#{COLLECTIONS_DATA_DIR}/*json") do |file_path|
44
44
  collection_attributes = JSON.parse(File.read(file_path))
45
- content_type = space.content_types.create(name: collection_attributes['entry_type'], description: collection_attributes['note'])
45
+ content_type = create_new_content_type(collection_attributes)
46
46
  puts "Importing content_type: #{content_type.name}"
47
47
  create_content_type_fields(collection_attributes, content_type)
48
48
  create_content_type_webhooks(collection_attributes['webhook_definitions'], content_type.space.id)
@@ -121,9 +121,11 @@ class ContentfulImporter
121
121
  end
122
122
 
123
123
  def create_content_type_fields(collection_attributes, content_type)
124
- collection_attributes['fields'].each do |field|
125
- create_field(field, content_type)
124
+ fields = collection_attributes['fields'].each_with_object([]) do |field, fields|
125
+ fields << create_field(field)
126
126
  end
127
+ content_type.fields = fields
128
+ content_type.save
127
129
  end
128
130
 
129
131
  def create_content_type_webhooks(params, space_id)
@@ -200,6 +202,13 @@ class ContentfulImporter
200
202
  Contentful::Management::ContentType.find(space_id, content_type_id)
201
203
  end
202
204
 
205
+ def create_new_content_type(collection_attributes)
206
+ space.content_types.new.tap do |content_type|
207
+ content_type.name = collection_attributes['entry_type']
208
+ content_type.description = collection_attributes['note']
209
+ end
210
+ end
211
+
203
212
  def add_content_type_id_to_file(collection, content_type_id, space_id, file_path)
204
213
  File.open(file_path, 'w') { |file| file.write(format_json(collection.merge(content_type_id: content_type_id, space_id: space_id))) }
205
214
  end
@@ -235,11 +244,22 @@ class ContentfulImporter
235
244
  end
236
245
  end
237
246
 
238
- def create_field(field, content_type)
247
+ def create_field(field)
239
248
  field_params = {id: field['identifier'], name: field['name'], required: field['required']}
240
249
  field_params.merge!(additional_field_params(field))
241
250
  puts "Creating field: #{field_params[:type]}"
242
- content_type.fields.create(field_params)
251
+ create_content_type_field(field_params)
252
+ end
253
+
254
+ def create_content_type_field(field_params)
255
+ Contentful::Management::Field.new.tap do |field|
256
+ field.id = field_params[:id]
257
+ field.name = field_params[:name]
258
+ field.type = field_params[:type]
259
+ field.link_type = field_params[:link_type]
260
+ field.required = field_params[:required]
261
+ field.items = field_params[:items]
262
+ end
243
263
  end
244
264
 
245
265
  def active_status(ct_object)
@@ -1,3 +1,3 @@
1
1
  module Version
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: storageroom-to-contentful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Tiefenthaler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-07 00:00:00.000000000 Z
11
+ date: 2014-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http