active_admin_import 4.1.2 → 4.2.0

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
  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.