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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78139a6f03fa2e8711cfb6c2e11077c786bea477b2eaf42b49d97523917a68bf
4
- data.tar.gz: 9f4bf8ef249388f1dac80ef6d440b89d20ae2ecb0b446f0112c880e0e5ab116a
3
+ metadata.gz: de2d35b497f1bd3dc0ec315c01b54b414f33d17ae00ec1dd696dabda7f457d23
4
+ data.tar.gz: f384a6d7ee62080902c06ce1bc37dbc184313c7150af13af7f45d732da499cd5
5
5
  SHA512:
6
- metadata.gz: 2dbe0057075b74c0f1b91ba06bc24c7c78aaf3e8bce320fc783d79185e0b6bf59ad9d172de0c41da586098545d90d924db7bfb2b214e63e3962853ab8f6a986b
7
- data.tar.gz: 93685a6646b4e5b8d3ad813b43bc108c6c321087b1100267e957d02439c5a6f0b5bfda22a2080566f03c08cf484f87ff38ebd28bf662151b7681cb1284f6784a
6
+ metadata.gz: 4918c47b9cd9bfdc0d2e12733f00c7608999162e0d041b9c6414ca63aa3660dafb87e01d10eb52ffb106895c0cda44f1e89231c546be72bf94707253e71bb5da
7
+ data.tar.gz: 29d229496fc5e75e3d74b7b2f9312dde645dd29c44833d7c6315b01109410364262e9c90e16f49117b2fffe503077006bf602074b937963aa78b5cd4d4b90ac0
@@ -1,4 +1,7 @@
1
1
  # Changelog
2
+ ## [4.2.0] - 2020-02-05
3
+ - generic exception for import added #175 | @linqueta
4
+
2
5
  ## [4.1.2] - 2019-12-16
3
6
  - allow application/octet-stream content-type #172 | @dmitry-sinina
4
7
  - Allow activerecord-import >= 0.27 #171 | @sagium
@@ -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, NoMethodError, ActiveRecord::StatementInvalid, CSV::MalformedCSVError => e
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])
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+ module ActiveAdminImport
3
+ class Exception < StandardError
4
+ end
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveAdminImport
4
- VERSION = '4.1.2'
4
+ VERSION = '4.2.0'
5
5
  end
@@ -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
 
@@ -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.1.2
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: 2019-12-17 00:00:00.000000000 Z
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.3
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.