csv-import-analyzer 0.0.7 → 0.0.8
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c75db8ee3eda030cb41711edc79699dded7c54a9
|
4
|
+
data.tar.gz: 8ded885a9ecaa05137bb24811b814c07d9199d86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4c456ed71cb4fccdb0090be9e10b5aad34f917bd1d292da28b4d459504c11b920e2c04006d7424d2eac5b7508f9c4d6fba292b1837b1c358e61410b2c9ac3ce
|
7
|
+
data.tar.gz: 42ede9aa641591ef8f870a39cd1e37786efb1fedb95a52766f0ea8cd23b70a5bc9cd38d431ae19b397e96e647b7e2c241c4b590dbb085451cb3dd0d252e63cbe
|
@@ -119,7 +119,10 @@ module CsvImportAnalyzer
|
|
119
119
|
metadata[:csv_file] = add_file_metadata
|
120
120
|
metadata[:data_manipulations] = add_data_manipulations
|
121
121
|
metadata[:csv_headers] = add_header_metadata
|
122
|
-
metadata
|
122
|
+
# Add SQL data to metadata only if databases option is set.
|
123
|
+
unless databases.nil?
|
124
|
+
metadata[:sql] = add_sql_data
|
125
|
+
end
|
123
126
|
end
|
124
127
|
|
125
128
|
###
|
@@ -36,7 +36,7 @@ module CsvImportAnalyzer
|
|
36
36
|
def tablename
|
37
37
|
# May be optimize this, not run all three operations everytime filename method is called ??
|
38
38
|
# May be creating filename as instance variable and using a double pipe will relive it from running everytime doesn't it??
|
39
|
-
tablename = File.basename(options[:
|
39
|
+
tablename = File.basename(options[:original_filename])
|
40
40
|
tablename.gsub!(" ", "_")
|
41
41
|
tablename.downcase!
|
42
42
|
return tablename
|
@@ -61,17 +61,23 @@ module CsvImportAnalyzer
|
|
61
61
|
# Makes a function call to return the metadata analysis of the file
|
62
62
|
###
|
63
63
|
def generate_query
|
64
|
-
databases.
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
64
|
+
unless databases.nil?
|
65
|
+
databases.each do |db|
|
66
|
+
create_query[db] = ["create table #{tablename} ("]
|
67
|
+
end
|
68
|
+
csv_column_datatypes.each do |header, datatype|
|
69
|
+
append_to_query = build_query_for_datatype(header, datatype)
|
70
|
+
append_to_query.each do |key, value|
|
71
|
+
create_query[key].push(value)
|
72
|
+
end
|
71
73
|
end
|
74
|
+
prepare_sql_statements
|
75
|
+
prepare_import_csv
|
76
|
+
# Pass the prepared statements to options varaible.
|
77
|
+
# Which gets passed on to print_metadata_analysis
|
78
|
+
options[:create_query] = create_query
|
79
|
+
options[:import_query] = import_query
|
72
80
|
end
|
73
|
-
prepare_sql_statements
|
74
|
-
prepare_import_csv
|
75
81
|
print_metadata_analysis
|
76
82
|
end
|
77
83
|
|
@@ -116,11 +122,14 @@ module CsvImportAnalyzer
|
|
116
122
|
# prepares sql statements based on the query for each header formed earlier
|
117
123
|
###
|
118
124
|
def prepare_sql_statements
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
125
|
+
begin
|
126
|
+
databases.each do |db|
|
127
|
+
create_query[db][0] = create_query[db][0] + " " + create_query[db][1]
|
128
|
+
create_query[db].delete_at(1)
|
129
|
+
create_query[db] = create_query[db].join(", ")
|
130
|
+
create_query[db] << ");"
|
131
|
+
end
|
132
|
+
rescue TypeError => e
|
124
133
|
end
|
125
134
|
end
|
126
135
|
|
@@ -130,8 +139,8 @@ module CsvImportAnalyzer
|
|
130
139
|
# instantiates MetadataAnalysis and passes options hash
|
131
140
|
###
|
132
141
|
def print_metadata_analysis
|
133
|
-
options[:create_query] = create_query
|
134
|
-
options[:import_query] = import_query
|
142
|
+
# options[:create_query] = create_query
|
143
|
+
# options[:import_query] = import_query
|
135
144
|
export = CsvImportAnalyzer::MetadataAnalysis.new(options)
|
136
145
|
export.metadata_print
|
137
146
|
end
|