ntq_excelsior 0.5.2 → 0.5.3

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: e7c436cc2fa6215955ccad783bf7bb0db0a6962ff19f496bc6a409555f0829e9
4
- data.tar.gz: 68206589fc4d1c14bbed49a581997f007c3114bd3734f8a195386a1a2a611bf4
3
+ metadata.gz: c83e96aa4574d61fab90bd411335709ee1bfc7553866b9a622921d1e8a9d23df
4
+ data.tar.gz: 45ed1db546080412b594bb3e2af1d5ec0f15df57bb80c65f7d51d6a86ca1627b
5
5
  SHA512:
6
- metadata.gz: 71e8136e4e6cdbf1474688117c245c3395082bc61a87f782f0d55558d10f1b2a65749dbcd9b32010f5cffd1f7a03b4dcf5b14c42fc4d490b8b4ba2f862fe4aa3
7
- data.tar.gz: 2b98f40828019e1c0ffdc1a344826793b40f69445dcf15665c06a43bd6ea1c3cff670960ee3f026e637e2df65dc1c25dd6cd656a3d22a58163377277d69ee210
6
+ metadata.gz: c5a6cde69fea2f857b25090b68fdd3b7055646a341a4be7b9a53428ca2f318234c708199da2e678a65d2703c6dc28384eb51416eeba611a4efae12e829dff8cc
7
+ data.tar.gz: 99be33b0725e28427bc973a293429a19cd4d89669f397bd96ae74a209233e6e0529f2cf1c249c6936a8c14d5648abf400fdf4e762d5faee9838144a431e0518e
data/README.md CHANGED
@@ -92,6 +92,8 @@ class UserImporter < NtqExcelsior::Importer
92
92
 
93
93
  primary_key :email
94
94
 
95
+ ## if set to save, the record will not be save automatically after import_line
96
+ ## Errors have to be added to the @errors hash manually
95
97
  # autosave false
96
98
 
97
99
  structure [{
@@ -144,6 +144,8 @@ module NtqExcelsior
144
144
 
145
145
  def import_line(line, save: true)
146
146
  record = find_or_initialize_record(line)
147
+ return { status: :not_found } unless record
148
+
147
149
  @success = false
148
150
  @action = nil
149
151
  @errors = []
@@ -173,11 +175,14 @@ module NtqExcelsior
173
175
  at = 0
174
176
  errors_lines = []
175
177
  success_count = 0
178
+ not_found_count = 0
176
179
  lines.each_with_index do |line, index|
177
- break if errors_lines.size == self.class.max_error_count
180
+ break if errors_lines.size == self.class.max_error_count
178
181
 
179
182
  result = import_line(line.with_indifferent_access, save: true)
180
183
  case result[:status]
184
+ when :not_found
185
+ not_found_count += 1
181
186
  when :success
182
187
  success_count += 1
183
188
  when :error
@@ -188,12 +193,12 @@ module NtqExcelsior
188
193
 
189
194
  if @status_tracker&.is_a?(Proc)
190
195
  at = (((index + 1).to_d / lines.size) * 100.to_d)
191
- @status_tracker.call(at)
196
+ @status_tracker.call(at)
192
197
  end
193
198
  end
194
199
 
195
- { success_count: success_count, errors: errors_lines }
200
+ { success_count: success_count, not_found_count: not_found_count, errors: errors_lines }
196
201
  end
197
202
 
198
203
  end
199
- end
204
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NtqExcelsior
4
- VERSION = "0.5.2"
4
+ VERSION = "0.5.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ntq_excelsior
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-13 00:00:00.000000000 Z
11
+ date: 2023-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: caxlsx