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.
- checksums.yaml +4 -4
- data/app/models/importer.rb +1 -0
- data/app/services/csv_import_magic/importer.rb +8 -0
- data/db/migrate/20170405100034_adds_additional_data_to_importers.rb +5 -0
- data/db/migrate/20170505100034_adds_additional_attributes_to_company.rb +6 -0
- data/lib/csv_import_magic/version.rb +1 -1
- data/lib/generators/csv_import_magic/install_generator.rb +1 -0
- data/spec/dummy/db/schema.rb +37 -32
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/test.log +1060 -0
- data/spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170405-54106-13fpq5g.csv +2 -0
- data/spec/dummy/public/system/importers/attachment_errors/000/000/001/original/failures20170406-92002-8pd0oz.csv +2 -0
- data/spec/examples.txt +48 -48
- data/spec/lib/generators/csv_import_magic/install_generator_spec.rb +1 -0
- data/spec/lib/generators/csv_import_magic/rails_5/install_generator_spec.rb +1 -0
- data/spec/services/csv_import_magic/importer_spec.rb +14 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91e56866df8de25c3b9bda2ccbaa09e60dc4b101
|
4
|
+
data.tar.gz: dde09d1e79b7073f4f7edfff4fc1477200c0d580
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0476a7842f3867cbd9af27f4477747465ce2b515f9a44a56e7ce98382b1dd851c543488143ee45dc88d4e5c77f64ddc6cdba4f431c3b4c8e6fba8d2b5488f7d2
|
7
|
+
data.tar.gz: 883ce8c45cd32013ef1d6af10dec64030a675ba3925834cf2134d3504630d08a5ca10e24b9aac2c71c5050d056cdea5b32dc5b81214d9d9da0f67a9c9e0c4394
|
data/app/models/importer.rb
CHANGED
@@ -30,9 +30,17 @@ module CsvImportMagic
|
|
30
30
|
|
31
31
|
def csv_parsed
|
32
32
|
model = @model
|
33
|
+
importer = @importer
|
33
34
|
|
34
35
|
@csv_parsed ||= csv_parser_class.new(content: content_with_new_header) do
|
35
36
|
model model
|
37
|
+
|
38
|
+
after_build do |model|
|
39
|
+
if importer.additional_data
|
40
|
+
additional_data = JSON.parse(importer.additional_data)
|
41
|
+
model.assign_attributes(additional_data) rescue nil
|
42
|
+
end
|
43
|
+
end
|
36
44
|
end
|
37
45
|
end
|
38
46
|
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -11,41 +11,46 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
15
|
-
|
16
|
-
|
17
|
-
t.
|
18
|
-
t.string
|
19
|
-
t.string
|
20
|
-
t.string
|
21
|
-
t.string
|
22
|
-
t.string
|
23
|
-
t.string
|
24
|
-
t.
|
14
|
+
ActiveRecord::Schema.define(version: 20170505100034) do
|
15
|
+
|
16
|
+
create_table "companies", force: :cascade do |t|
|
17
|
+
t.integer "user_id"
|
18
|
+
t.string "name"
|
19
|
+
t.string "street"
|
20
|
+
t.string "number"
|
21
|
+
t.string "neighborhood"
|
22
|
+
t.string "city"
|
23
|
+
t.string "state"
|
24
|
+
t.string "country"
|
25
|
+
t.boolean "active"
|
26
|
+
t.string "one_additional_attribute"
|
27
|
+
t.string "other_additional_attribute"
|
25
28
|
end
|
26
29
|
|
27
|
-
create_table
|
28
|
-
t.string
|
29
|
-
t.string
|
30
|
-
t.integer
|
31
|
-
t.datetime
|
32
|
-
t.string
|
33
|
-
t.string
|
34
|
-
t.integer
|
35
|
-
t.datetime
|
36
|
-
t.string
|
37
|
-
t.string
|
38
|
-
t.string
|
39
|
-
t.string
|
40
|
-
t.string
|
41
|
-
t.integer
|
42
|
-
t.string
|
43
|
-
t.datetime
|
44
|
-
t.datetime
|
30
|
+
create_table "importers", force: :cascade do |t|
|
31
|
+
t.string "attachment_file_name"
|
32
|
+
t.string "attachment_content_type"
|
33
|
+
t.integer "attachment_file_size"
|
34
|
+
t.datetime "attachment_updated_at"
|
35
|
+
t.string "attachment_error_file_name"
|
36
|
+
t.string "attachment_error_content_type"
|
37
|
+
t.integer "attachment_error_file_size"
|
38
|
+
t.datetime "attachment_error_updated_at"
|
39
|
+
t.string "source"
|
40
|
+
t.string "parser"
|
41
|
+
t.string "columns"
|
42
|
+
t.string "message"
|
43
|
+
t.string "status", default: "pending"
|
44
|
+
t.integer "importable_id"
|
45
|
+
t.string "importable_type"
|
46
|
+
t.datetime "created_at"
|
47
|
+
t.datetime "updated_at"
|
48
|
+
t.string "additional_data"
|
45
49
|
end
|
46
50
|
|
47
|
-
create_table
|
48
|
-
t.string
|
49
|
-
t.string
|
51
|
+
create_table "users", force: :cascade do |t|
|
52
|
+
t.string "name"
|
53
|
+
t.string "email"
|
50
54
|
end
|
55
|
+
|
51
56
|
end
|
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|