active_admin_import 4.1.2 → 4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/active_admin_import.rb +1 -0
- data/lib/active_admin_import/dsl.rb +5 -1
- data/lib/active_admin_import/exception.rb +5 -0
- data/lib/active_admin_import/version.rb +1 -1
- data/spec/import_spec.rb +22 -0
- data/spec/spec_helper.rb +1 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de2d35b497f1bd3dc0ec315c01b54b414f33d17ae00ec1dd696dabda7f457d23
|
4
|
+
data.tar.gz: f384a6d7ee62080902c06ce1bc37dbc184313c7150af13af7f45d732da499cd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4918c47b9cd9bfdc0d2e12733f00c7608999162e0d041b9c6414ca63aa3660dafb87e01d10eb52ffb106895c0cda44f1e89231c546be72bf94707253e71bb5da
|
7
|
+
data.tar.gz: 29d229496fc5e75e3d74b7b2f9312dde645dd29c44833d7c6315b01109410364262e9c90e16f49117b2fffe503077006bf602074b937963aa78b5cd4d4b90ac0
|
data/CHANGELOG.md
CHANGED
data/lib/active_admin_import.rb
CHANGED
@@ -3,6 +3,7 @@ require 'activerecord-import'
|
|
3
3
|
require 'active_admin'
|
4
4
|
require 'active_admin_import/version'
|
5
5
|
require 'active_admin_import/engine'
|
6
|
+
require 'active_admin_import/exception'
|
6
7
|
require 'active_admin_import/import_result'
|
7
8
|
require 'active_admin_import/options'
|
8
9
|
require 'active_admin_import/dsl'
|
@@ -92,7 +92,11 @@ module ActiveAdminImport
|
|
92
92
|
else
|
93
93
|
instance_exec result, options, &DEFAULT_RESULT_PROC
|
94
94
|
end
|
95
|
-
rescue ActiveRecord::Import::MissingColumnError,
|
95
|
+
rescue ActiveRecord::Import::MissingColumnError,
|
96
|
+
NoMethodError,
|
97
|
+
ActiveRecord::StatementInvalid,
|
98
|
+
CSV::MalformedCSVError,
|
99
|
+
ActiveAdminImport::Exception => e
|
96
100
|
Rails.logger.error(I18n.t('active_admin_import.file_error', message: e.message))
|
97
101
|
Rails.logger.error(e.backtrace.join("\n"))
|
98
102
|
flash[:error] = I18n.t('active_admin_import.file_error', message: e.message[0..200])
|
data/spec/import_spec.rb
CHANGED
@@ -430,6 +430,28 @@ describe 'import', type: :feature do
|
|
430
430
|
upload_file!(:authors)
|
431
431
|
expect(Author.count).to eq(2)
|
432
432
|
end
|
433
|
+
|
434
|
+
context 'when the option before_import raises a ActiveAdminImport::Exception' do
|
435
|
+
let(:options) { { before_import: ->(_) { raise ActiveAdminImport::Exception, 'error message' } } }
|
436
|
+
|
437
|
+
before { upload_file!(:authors) }
|
438
|
+
|
439
|
+
it 'should show error' do
|
440
|
+
expect(page).to have_content I18n.t('active_admin_import.file_error', message: 'error message')
|
441
|
+
expect(Author.count).to eq(0)
|
442
|
+
end
|
443
|
+
end
|
444
|
+
|
445
|
+
context 'when the option before_batch_import raises a ActiveAdminImport::Exception' do
|
446
|
+
let(:options) { { before_batch_import: ->(_) { raise ActiveAdminImport::Exception, 'error message' } } }
|
447
|
+
|
448
|
+
before { upload_file!(:authors) }
|
449
|
+
|
450
|
+
it 'should show error' do
|
451
|
+
expect(page).to have_content I18n.t('active_admin_import.file_error', message: 'error message')
|
452
|
+
expect(Author.count).to eq(0)
|
453
|
+
end
|
454
|
+
end
|
433
455
|
end
|
434
456
|
end
|
435
457
|
|
data/spec/spec_helper.rb
CHANGED
@@ -20,6 +20,7 @@ system 'rake setup' unless File.exist?(ENV['RAILS_ROOT'])
|
|
20
20
|
require 'active_model'
|
21
21
|
# require ActiveRecord to ensure that Ransack loads correctly
|
22
22
|
require 'active_record'
|
23
|
+
require 'action_view'
|
23
24
|
require 'active_admin'
|
24
25
|
ActiveAdmin.application.load_paths = [ENV['RAILS_ROOT'] + '/app/admin']
|
25
26
|
require ENV['RAILS_ROOT'] + '/config/environment.rb'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_admin_import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Fedoronchuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord-import
|
@@ -99,6 +99,7 @@ files:
|
|
99
99
|
- lib/active_admin_import/authorization.rb
|
100
100
|
- lib/active_admin_import/dsl.rb
|
101
101
|
- lib/active_admin_import/engine.rb
|
102
|
+
- lib/active_admin_import/exception.rb
|
102
103
|
- lib/active_admin_import/import_result.rb
|
103
104
|
- lib/active_admin_import/importer.rb
|
104
105
|
- lib/active_admin_import/model.rb
|
@@ -148,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
149
|
- !ruby/object:Gem::Version
|
149
150
|
version: '0'
|
150
151
|
requirements: []
|
151
|
-
rubygems_version: 3.0.
|
152
|
+
rubygems_version: 3.0.6
|
152
153
|
signing_key:
|
153
154
|
specification_version: 4
|
154
155
|
summary: ActiveAdmin import based on activerecord-import gem.
|