csv_import_magic 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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