mojito_import 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f1b2abb1bf2d64aeec53cd821b2252e347676efa91c3d70c3e41a75a0b1d05f
4
- data.tar.gz: bc39366394d3356484a3a4469306e36397fa7a4b6e95835c08b68cef220b8d97
3
+ metadata.gz: 1fb1f7944e74c2ce2cc58ba3e864ffb690f8ca9671db7a79ed027d236892d80f
4
+ data.tar.gz: 33dea6e1d699b345ca168600ffbe97fa5b67e2503298c1ae77a0f879d70c6804
5
5
  SHA512:
6
- metadata.gz: 177b8db20f9cb273bd1e58cfefd98a3ccfd420ea8f9c876ae5250735900016e98a1212099b0988f3438d80d028d9df84954501ebc472e37992bcb40563e4301f
7
- data.tar.gz: '08558abc4b0110540bb0d796ade2bb70dc330f8c728c1fd3fb8ba90408261676f3470bc676105e53bd3bf6b527665602b2ea34c58247f9b3f584fb691f02963a'
6
+ metadata.gz: 4598f50532267ef4f38e195822c4014f8e444b9ad07db585ce8aff11772cc79a5d72e1832c6f9aa553a348e490cd337af9697d31326f32ad60487c673d2def10
7
+ data.tar.gz: 73748e5074cdc80b1c70f8269320905c5dfc6719b6b1480a7ebbfd1f720b726fb2c0ac29c4a1b4f729d54f0f9518536246b0f3e70fcec193305ffe49716d9e6c
data/changelog.md CHANGED
@@ -1,3 +1,6 @@
1
+ * MojitoImport 0.8.0
2
+ * new json schema !
3
+
1
4
  * MojitoImport 0.7.0
2
5
  * iFrame with token auth
3
6
 
@@ -1,53 +1,70 @@
1
+ require 'json'
2
+
1
3
  module MojitoImport
2
4
  class Report
3
- attr_accessor :data_errors, :general_errors, :data_updates, :import_id
5
+ attr_accessor :object_errors, :request_errors, :object_updates, :import_id
4
6
 
5
7
  def initialize(import_id)
6
8
  self.import_id = import_id
7
- self.data_errors = []
8
- self.general_errors = []
9
- self.data_updates = []
9
+ self.object_errors = []
10
+ self.request_errors = []
11
+ self.object_updates = []
12
+ end
13
+
14
+ def to_json
15
+ {
16
+ "mojitoRequestId" => self.import_id,
17
+ "requestErrors" => self.request_errors,
18
+ "objectErrors" => self.object_errors,
19
+ "objectUpdates" => self.object_updates
20
+ }.to_json
10
21
  end
11
22
 
12
- def add_general_error(error)
13
- general_errors << error
23
+ def add_request_error(error)
24
+ request_errors << error
14
25
  end
15
26
 
16
- def add_data_update(mojito_id, field, from, to: nil)
17
- # reload!; report = MojitoImport::Report.new('1234'); report.add_data_error('123', 'name', 'your name sucks')
27
+ def add_object_update(mojito_id, field, from, to: nil)
28
+
18
29
  hash_element =
19
- data_updates.detect { |error_hash| error_hash["mojitoId"] == mojito_id }
30
+ object_updates.detect { |error_hash| error_hash["mojitoObjectId"] == mojito_id }
20
31
 
21
32
  update_hash = {"before" => from}
22
33
  update_hash["after"] = to unless to.nil?
23
34
 
24
35
  if hash_element.nil?
25
- new_update_hash = { "mojitoId" => mojito_id, field => update_hash }
26
- data_updates << new_update_hash
36
+ new_update_hash = { "mojitoObjectId" => mojito_id, field => update_hash }
37
+ object_updates << new_update_hash
27
38
  else
28
39
  hash_element[field] = update_hash
29
40
  end
30
41
  end
31
42
 
32
- def add_data_error(mojito_id, field, error)
33
- # reload!; report = MojitoImport::Report.new('1234'); report.add_data_error('123', 'name', 'your name sucks')
43
+ def add_object_error(mojito_id, error, field: nil)
44
+
34
45
  hash_element =
35
- data_errors.detect { |error_hash| error_hash["mojitoId"] == mojito_id }
46
+ object_errors.detect { |error_hash| error_hash["mojitoObjectId"] == mojito_id }
36
47
 
37
48
  if hash_element.nil?
38
- new_error_hash = { "mojitoId" => mojito_id, field => [error] }
39
- data_errors << new_error_hash
40
- else
41
- hash_element[field] ||= []
42
- hash_element[field] << error
49
+ hash_element = { "mojitoObjectId" => mojito_id, "general" => [], "fields" => { } }
50
+ object_errors << hash_element
43
51
  end
52
+
53
+ if field.nil? # it's a general error
54
+ hash_element["general"] << error
55
+ else
56
+ # The field has to be initialized to an array
57
+ # Else we got an error when adding an error to a 2nd field
58
+ hash_element["fields"][field] ||= []
59
+ hash_element["fields"][field] << error
60
+ end
44
61
  end
45
62
 
46
63
  def find_errors_for_object(mojito_id)
47
- data_error = data_errors.detect { |data| data["mojitoId"] == mojito_id }
48
- return if data_error.nil?
64
+ object_error = object_errors.detect { |data| data["mojitoObjectId"] == mojito_id }
65
+ return if object_error.nil?
49
66
 
50
- data_error.except("mojitoId")
67
+ object_error.except("mojitoObjectId")
51
68
  end
52
69
  end
53
70
  end
@@ -1,3 +1,3 @@
1
1
  module MojitoImport
2
- VERSION = "0.7.0"
2
+ VERSION = "0.8.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mojito_import
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Darde
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-21 00:00:00.000000000 Z
11
+ date: 2020-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client