csv_import_magic 0.0.1 → 0.0.2

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.
@@ -0,0 +1,2 @@
1
+ Nome;Rua;Numero;Bairro;Cidade;Estado;Pais;Erros
2
+ bar;R: Teste;2a;Joao de Barro;Aracatuba;SP;"";Brasil;Numero não é um número
@@ -0,0 +1,2 @@
1
+ Nome;Rua;Numero;Bairro;Cidade;Estado;Pais;Erros
2
+ bar;R: Teste;2a;Joao de Barro;Aracatuba;SP;"";Brasil;Numero não é um número
data/spec/examples.txt CHANGED
@@ -1,50 +1,50 @@
1
1
  example_id | status | run_time |
2
2
  -------------------------------------------------------------------------------------- | ------ | --------------- |
3
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:1:1:1] | passed | 0.07267 seconds |
4
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:1:1:2] | passed | 0.07638 seconds |
5
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:1:2:1] | passed | 0.01145 seconds |
6
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:2:1] | passed | 0.06871 seconds |
7
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:3:1] | passed | 0.0855 seconds |
8
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:4:1:1] | passed | 0.0937 seconds |
9
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:4:1:2] | passed | 0.07511 seconds |
10
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:4:1:3] | passed | 0.08351 seconds |
11
- ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:4:2:1] | passed | 0.06443 seconds |
12
- ./spec/lib/csv_import_magic/models_spec.rb[1:1:1:1] | passed | 0.0016 seconds |
13
- ./spec/lib/csv_import_magic/models_spec.rb[1:1:2:1] | passed | 0.00357 seconds |
14
- ./spec/lib/csv_import_magic/models_spec.rb[1:1:3:1] | passed | 0.00201 seconds |
15
- ./spec/lib/csv_import_magic/models_spec.rb[1:2:1:1] | passed | 0.00315 seconds |
16
- ./spec/lib/csv_import_magic/models_spec.rb[1:2:2:1] | passed | 0.00183 seconds |
17
- ./spec/lib/csv_import_magic/models_spec.rb[1:2:2:2] | passed | 0.00099 seconds |
18
- ./spec/lib/generators/active_record/csv_import_magic_generator_spec.rb[1:1] | passed | 0.00538 seconds |
19
- ./spec/lib/generators/active_record/csv_import_magic_generator_spec.rb[1:2] | passed | 0.0064 seconds |
20
- ./spec/lib/generators/active_record/namespaced/csv_import_magic_generator_spec.rb[1:1] | passed | 0.01017 seconds |
21
- ./spec/lib/generators/active_record/namespaced/csv_import_magic_generator_spec.rb[1:2] | passed | 0.01348 seconds |
22
- ./spec/lib/generators/csv_import_magic/controllers_generator_spec.rb[1:1] | passed | 0.00467 seconds |
23
- ./spec/lib/generators/csv_import_magic/install_generator_spec.rb[1:1] | passed | 0.00627 seconds |
24
- ./spec/lib/generators/csv_import_magic/install_generator_spec.rb[1:2] | passed | 0.00761 seconds |
25
- ./spec/lib/generators/csv_import_magic/install_generator_spec.rb[1:3] | passed | 0.00822 seconds |
26
- ./spec/lib/generators/csv_import_magic/rails_5/install_generator_spec.rb[1:1] | passed | 0.00839 seconds |
27
- ./spec/lib/generators/csv_import_magic/views_generator_spec.rb[1:1] | passed | 0.01011 seconds |
28
- ./spec/lib/generators/csv_import_magic/views_generator_spec.rb[1:2] | passed | 0.00808 seconds |
29
- ./spec/lib/generators/csv_import_magic/views_generator_spec.rb[1:3] | passed | 0.01356 seconds |
30
- ./spec/lib/generators/csv_import_magic/views_generator_spec.rb[1:4] | passed | 0.00933 seconds |
31
- ./spec/models/importer_spec.rb[1:1:1] | passed | 0.05922 seconds |
32
- ./spec/models/importer_spec.rb[1:1:2] | passed | 0.09649 seconds |
33
- ./spec/models/importer_spec.rb[1:1:3] | passed | 0.03602 seconds |
34
- ./spec/models/importer_spec.rb[1:1:4] | passed | 0.05539 seconds |
35
- ./spec/models/importer_spec.rb[1:1:5] | passed | 0.13657 seconds |
36
- ./spec/models/importer_spec.rb[1:1:6] | passed | 0.04059 seconds |
37
- ./spec/models/importer_spec.rb[1:1:7] | passed | 0.1352 seconds |
38
- ./spec/models/importer_spec.rb[1:1:8:1] | passed | 0.10874 seconds |
39
- ./spec/models/importer_spec.rb[1:1:9:1] | passed | 0.06182 seconds |
40
- ./spec/models/importer_spec.rb[1:2:1] | passed | 0.00126 seconds |
41
- ./spec/models/importer_spec.rb[1:3:1:1] | passed | 0.05695 seconds |
42
- ./spec/models/importer_spec.rb[1:3:1:2] | passed | 0.06553 seconds |
43
- ./spec/models/importer_spec.rb[1:4:1] | passed | 0.05658 seconds |
44
- ./spec/models/importer_spec.rb[1:5:1] | passed | 0.06425 seconds |
45
- ./spec/services/csv_import_magic/failure_spec.rb[1:1:1:1] | passed | 0.16577 seconds |
46
- ./spec/services/csv_import_magic/importer_spec.rb[1:1:1:1] | passed | 0.08523 seconds |
47
- ./spec/services/csv_import_magic/importer_spec.rb[1:1:2:1] | passed | 0.098 seconds |
48
- ./spec/services/csv_import_magic/importer_spec.rb[1:1:3:1] | passed | 0.08062 seconds |
49
- ./spec/workers/csv_import_magic/importer_worker_spec.rb[1:1:1] | passed | 0.06619 seconds |
50
- ./spec/workers/csv_import_magic/importer_worker_spec.rb[1:1:2] | passed | 0.05792 seconds |
3
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:1:1:1] | passed | 0.07193 seconds |
4
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:1:1:2] | passed | 0.06799 seconds |
5
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:1:2:1] | passed | 0.01192 seconds |
6
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:2:1] | passed | 0.1011 seconds |
7
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:3:1] | passed | 0.07259 seconds |
8
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:4:1:1] | passed | 0.09927 seconds |
9
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:4:1:2] | passed | 0.07463 seconds |
10
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:4:1:3] | passed | 0.0809 seconds |
11
+ ./spec/controllers/csv_import_magic/importers_controller_spec.rb[1:4:2:1] | passed | 0.08836 seconds |
12
+ ./spec/lib/csv_import_magic/models_spec.rb[1:1:1:1] | passed | 0.00096 seconds |
13
+ ./spec/lib/csv_import_magic/models_spec.rb[1:1:2:1] | passed | 0.00104 seconds |
14
+ ./spec/lib/csv_import_magic/models_spec.rb[1:1:3:1] | passed | 0.00099 seconds |
15
+ ./spec/lib/csv_import_magic/models_spec.rb[1:2:1:1] | passed | 0.00162 seconds |
16
+ ./spec/lib/csv_import_magic/models_spec.rb[1:2:2:1] | passed | 0.00098 seconds |
17
+ ./spec/lib/csv_import_magic/models_spec.rb[1:2:2:2] | passed | 0.00134 seconds |
18
+ ./spec/lib/generators/active_record/csv_import_magic_generator_spec.rb[1:1] | passed | 0.00491 seconds |
19
+ ./spec/lib/generators/active_record/csv_import_magic_generator_spec.rb[1:2] | passed | 0.00404 seconds |
20
+ ./spec/lib/generators/active_record/namespaced/csv_import_magic_generator_spec.rb[1:1] | passed | 0.01022 seconds |
21
+ ./spec/lib/generators/active_record/namespaced/csv_import_magic_generator_spec.rb[1:2] | passed | 0.01924 seconds |
22
+ ./spec/lib/generators/csv_import_magic/controllers_generator_spec.rb[1:1] | passed | 0.00354 seconds |
23
+ ./spec/lib/generators/csv_import_magic/install_generator_spec.rb[1:1] | passed | 0.00879 seconds |
24
+ ./spec/lib/generators/csv_import_magic/install_generator_spec.rb[1:2] | passed | 0.00699 seconds |
25
+ ./spec/lib/generators/csv_import_magic/install_generator_spec.rb[1:3] | passed | 0.0103 seconds |
26
+ ./spec/lib/generators/csv_import_magic/rails_5/install_generator_spec.rb[1:1] | passed | 0.00885 seconds |
27
+ ./spec/lib/generators/csv_import_magic/views_generator_spec.rb[1:1] | passed | 0.00712 seconds |
28
+ ./spec/lib/generators/csv_import_magic/views_generator_spec.rb[1:2] | passed | 0.00734 seconds |
29
+ ./spec/lib/generators/csv_import_magic/views_generator_spec.rb[1:3] | passed | 0.01014 seconds |
30
+ ./spec/lib/generators/csv_import_magic/views_generator_spec.rb[1:4] | passed | 0.01138 seconds |
31
+ ./spec/models/importer_spec.rb[1:1:1] | passed | 0.0487 seconds |
32
+ ./spec/models/importer_spec.rb[1:1:2] | passed | 0.08828 seconds |
33
+ ./spec/models/importer_spec.rb[1:1:3] | passed | 0.03319 seconds |
34
+ ./spec/models/importer_spec.rb[1:1:4] | passed | 0.04783 seconds |
35
+ ./spec/models/importer_spec.rb[1:1:5] | passed | 0.12055 seconds |
36
+ ./spec/models/importer_spec.rb[1:1:6] | passed | 0.03487 seconds |
37
+ ./spec/models/importer_spec.rb[1:1:7] | passed | 0.12288 seconds |
38
+ ./spec/models/importer_spec.rb[1:1:8:1] | passed | 0.09967 seconds |
39
+ ./spec/models/importer_spec.rb[1:1:9:1] | passed | 0.0575 seconds |
40
+ ./spec/models/importer_spec.rb[1:2:1] | passed | 0.00146 seconds |
41
+ ./spec/models/importer_spec.rb[1:3:1:1] | passed | 0.05412 seconds |
42
+ ./spec/models/importer_spec.rb[1:3:1:2] | passed | 0.05845 seconds |
43
+ ./spec/models/importer_spec.rb[1:4:1] | passed | 0.05448 seconds |
44
+ ./spec/models/importer_spec.rb[1:5:1] | passed | 0.05379 seconds |
45
+ ./spec/services/csv_import_magic/failure_spec.rb[1:1:1:1] | passed | 0.1385 seconds |
46
+ ./spec/services/csv_import_magic/importer_spec.rb[1:1:1:1] | passed | 0.08701 seconds |
47
+ ./spec/services/csv_import_magic/importer_spec.rb[1:1:2:1] | passed | 0.06859 seconds |
48
+ ./spec/services/csv_import_magic/importer_spec.rb[1:1:3:1] | passed | 0.07072 seconds |
49
+ ./spec/workers/csv_import_magic/importer_worker_spec.rb[1:1:1] | passed | 0.06322 seconds |
50
+ ./spec/workers/csv_import_magic/importer_worker_spec.rb[1:1:2] | passed | 0.06123 seconds |
@@ -44,6 +44,7 @@ class CreateImporters < ActiveRecord::Migration
44
44
  t.string :columns
45
45
  t.string :message
46
46
  t.string :status, default: 'pending'
47
+ t.string :additional_data
47
48
  t.references :importable, polymorphic: true
48
49
  t.timestamps null: false
49
50
  end
@@ -39,6 +39,7 @@ class CreateImporters < ActiveRecord::Migration[5.1]
39
39
  t.string :columns
40
40
  t.string :message
41
41
  t.string :status, default: 'pending'
42
+ t.string :additional_data
42
43
  t.references :importable, polymorphic: true
43
44
  t.timestamps null: false
44
45
  end
@@ -4,6 +4,20 @@ RSpec.describe CsvImportMagic::Importer, type: :service do
4
4
  let(:importer) { described_class.new(import.id) }
5
5
 
6
6
  describe '#call' do
7
+ context 'with additional_data' do
8
+ let(:additional_data) { '{"one_additional_attribute": "importer-attr", "other_additional_attribute": "other-importer-attr"}' }
9
+ let(:attachment) { fixture_file_upload(Rails.root.join('../fixtures/companies.csv')) }
10
+ let(:import) do
11
+ create :importer, attachment: attachment, source: 'company', columns: %w(name street number neighborhood city state country), additional_data: additional_data
12
+ end
13
+
14
+ it 'create an company for every row with the same additional_data' do
15
+ expect { importer.call }.to change(Company, :count).by(2)
16
+ expect(Company.all.pluck(:one_additional_attribute)).to match_array(%w(importer-attr importer-attr))
17
+ expect(Company.all.pluck(:other_additional_attribute)).to match_array(%w(other-importer-attr other-importer-attr))
18
+ end
19
+ end
20
+
7
21
  context 'with resource params' do
8
22
  let!(:user) { create(:user) }
9
23
  let(:importer) { described_class.new(import.id, model: 'User', id: user.id, relation: 'companies') }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv_import_magic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saulo Santiago
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-26 00:00:00.000000000 Z
11
+ date: 2017-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -135,6 +135,8 @@ files:
135
135
  - db/migrate/20170111145652_create_companies.rb
136
136
  - db/migrate/20170111145657_create_importers.rb
137
137
  - db/migrate/20170112125734_create_user.rb
138
+ - db/migrate/20170405100034_adds_additional_data_to_importers.rb
139
+ - db/migrate/20170505100034_adds_additional_attributes_to_company.rb
138
140
  - lib/csv_import_magic.rb
139
141
  - lib/csv_import_magic/engine.rb
140
142
  - lib/csv_import_magic/models.rb
@@ -342,6 +344,8 @@ files:
342
344
  - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170126-30381-1de3q2.csv
343
345
  - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170126-30864-1mthr0r.csv
344
346
  - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170126-30993-wxw7ja.csv
347
+ - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170405-54106-13fpq5g.csv
348
+ - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170406-92002-8pd0oz.csv
345
349
  - spec/dummy/public/system/importers/attachment_errors/000/000/002/original/failures20170119-55532-1ujy7xh.csv
346
350
  - spec/dummy/public/system/importers/attachment_errors/000/000/003/original/failures20170119-87695-1j8psm5.csv
347
351
  - spec/dummy/public/system/importers/attachment_errors/000/000/003/original/failures20170125-84785-u7rdmo.csv
@@ -656,6 +660,8 @@ test_files:
656
660
  - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170126-30381-1de3q2.csv
657
661
  - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170126-30864-1mthr0r.csv
658
662
  - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170126-30993-wxw7ja.csv
663
+ - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170405-54106-13fpq5g.csv
664
+ - spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170406-92002-8pd0oz.csv
659
665
  - spec/dummy/public/system/importers/attachment_errors/000/000/002/original/failures20170119-55532-1ujy7xh.csv
660
666
  - spec/dummy/public/system/importers/attachment_errors/000/000/003/original/failures20170119-87695-1j8psm5.csv
661
667
  - spec/dummy/public/system/importers/attachment_errors/000/000/003/original/failures20170125-84785-u7rdmo.csv