csv-import-analyzer 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
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
|