csvlite 0.1.0 → 0.1.1

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: d2a61277c7d5752cf37021fb26f9f9a38f665d34
4
- data.tar.gz: ed501846fb92dd993d4cb396ef47e2737ceaf7ff
3
+ metadata.gz: 63d97fb446cabd29414ae349d6ec4907b12b62ed
4
+ data.tar.gz: 1359480e4e16f60e3bc86edc5eed5cdf06938530
5
5
  SHA512:
6
- metadata.gz: f4c92d8175624c11ae2fd4fb414ec2da11453bb246ce2b9b469fcd147e19c7da2a0754697fb403edc1b4fc0d9603a2626d78da3d5874bb296c81700dc944dbe3
7
- data.tar.gz: 904107c49748d506558791f7fccab82f8677af55ed3e47e107070d4e17c268b76177df99ec6608d935e997abc5fff410907b4364ce5e301402e00d66c17512f4
6
+ metadata.gz: 84c60f20b43575a53050bb2f61fe476a42384534eb45d158244c927fdeae89e8f47c483258be9c0e416fc20c8dd3ecbccc4fd9232a5fff3536bc6a86e4e99c86
7
+ data.tar.gz: 8f6e6262d0dd3256164458c297c4efcd87630c474f52498489d1f97fc8f85db365ffefc8aed13d37764407ebd1b06a2c04dea4ef6054aeb994836da6e71d7da9
@@ -1,3 +1,3 @@
1
1
  module CSVlite
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/csvlite.rb CHANGED
@@ -2,6 +2,17 @@ require_relative "./csvlite/version"
2
2
  require 'csv'
3
3
  require 'sqlite3'
4
4
 
5
+ class String
6
+ def underscore
7
+ self.gsub(/::/, '/').
8
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
9
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
10
+ gsub(/ /,'_').
11
+ tr("-", "_").
12
+ downcase
13
+ end
14
+ end
15
+
5
16
  class CSVLite
6
17
  attr_reader :db
7
18
 
@@ -21,6 +32,8 @@ class CSVLite
21
32
  table_name = name
22
33
  end
23
34
 
35
+ table_name = table_name.underscore
36
+
24
37
  rows = CSV.read(csv_file)
25
38
  header = rows.shift
26
39
  create_statement = _build_table_schema(table_name, header, rows)
@@ -69,10 +82,11 @@ class CSVLite
69
82
 
70
83
  query = "CREATE TABLE #{table_name} (\r\n"
71
84
  query += header.map.with_index do |field, i|
72
- "'#{field}' VARCHAR(#{(column_lengths[i] / BASE_COLUMN_LENGTH.to_f).ceil * BASE_COLUMN_LENGTH})"
85
+ "'#{field.underscore}' VARCHAR(#{(column_lengths[i] / BASE_COLUMN_LENGTH.to_f).ceil * BASE_COLUMN_LENGTH})"
73
86
  end.join(",\r\n")
74
87
 
75
88
  query += "\r\n)"
89
+
90
+ query
76
91
  end
77
92
  end
78
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csvlite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edmund Lo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-07 00:00:00.000000000 Z
11
+ date: 2016-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler