csv_to_sqlite 0.0.1 → 0.0.2
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.
- data/bin/file.sqlite3 +0 -0
- data/lib/csv_to_sqlite.rb +1 -1
- data/lib/csv_to_sqlite/parser.rb +2 -4
- data/lib/csv_to_sqlite/runner.rb +20 -8
- metadata +4 -3
data/bin/file.sqlite3
ADDED
Binary file
|
data/lib/csv_to_sqlite.rb
CHANGED
data/lib/csv_to_sqlite/parser.rb
CHANGED
@@ -40,9 +40,7 @@ module CSVToSqlite
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def _create_model(table_name, column_names)
|
43
|
-
@klass =
|
44
|
-
@klass.class_eval do
|
45
|
-
include DataMapper::Resource
|
43
|
+
@klass = DataMapper::Model.new do
|
46
44
|
property :id, DataMapper::Property::Serial
|
47
45
|
column_names.each do |column|
|
48
46
|
property column.to_s.to_sym, DataMapper::Property::String
|
@@ -56,7 +54,7 @@ module CSVToSqlite
|
|
56
54
|
FasterCSV.parse(source) do |row|
|
57
55
|
columns_count = row.length if row.length > columns_count
|
58
56
|
end
|
59
|
-
(0...columns_count).each {|i| columns.push("col_#{i.to_s}")
|
57
|
+
(0...columns_count).each {|i| columns.push("col_#{i.to_s}")}
|
60
58
|
columns
|
61
59
|
end
|
62
60
|
|
data/lib/csv_to_sqlite/runner.rb
CHANGED
@@ -5,10 +5,10 @@ module CSVToSqlite
|
|
5
5
|
class Runner
|
6
6
|
|
7
7
|
attr_reader :argv
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
attr_reader :parser
|
9
|
+
attr_reader :options
|
10
|
+
attr_reader :command
|
11
|
+
attr_reader :arguments
|
12
12
|
|
13
13
|
def initialize(argv)
|
14
14
|
@argv = argv
|
@@ -22,7 +22,7 @@ module CSVToSqlite
|
|
22
22
|
parse!
|
23
23
|
CSVToSqlite::Parser.new(@source, @target, @options[:table], @options[:columns]).parse!
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
protected
|
27
27
|
|
28
28
|
def init_parser
|
@@ -31,7 +31,7 @@ module CSVToSqlite
|
|
31
31
|
opts.banner = "Usage: csv_to_sqlite [OPTIONS] source target"
|
32
32
|
opts.separator ""
|
33
33
|
opts.on('-t', '--table TABLE_NAME', 'The name of the table to create in the database.') { |table| @options[:table] = table }
|
34
|
-
opts.on('-c', '--columns COLUMN_NAMES', 'Comma separated list of column names. Ex: one,two,three...')
|
34
|
+
opts.on('-c', '--columns COLUMN_NAMES', 'Comma separated list of column names. Ex: one,two,three...') { |columns| @options[:columns] = columns.split(',') }
|
35
35
|
opts.on('-q', '--quiet') { |quiet| @options[:verbose] = false }
|
36
36
|
opts.on('-v', '--version') { puts version ; exit }
|
37
37
|
opts.on('-h', '--help') { puts opts ; exit }
|
@@ -40,18 +40,30 @@ module CSVToSqlite
|
|
40
40
|
end
|
41
41
|
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
def parse!
|
45
45
|
|
46
46
|
begin
|
47
47
|
@parser.parse!(@argv)
|
48
48
|
rescue
|
49
|
-
puts @parser
|
49
|
+
puts @parser.help
|
50
50
|
exit 1
|
51
51
|
end
|
52
52
|
|
53
53
|
@source = @argv.shift
|
54
|
+
|
55
|
+
if @source.nil?
|
56
|
+
puts @parser.help
|
57
|
+
exit 1
|
58
|
+
end
|
59
|
+
|
54
60
|
@target = @argv.shift
|
61
|
+
|
62
|
+
if @target.nil?
|
63
|
+
puts @parser.help
|
64
|
+
exit 1
|
65
|
+
end
|
66
|
+
|
55
67
|
@arguments = @argv
|
56
68
|
|
57
69
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: csv_to_sqlite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- A.C. Wright
|
@@ -59,6 +59,7 @@ extra_rdoc_files: []
|
|
59
59
|
|
60
60
|
files:
|
61
61
|
- bin/csv_to_sqlite
|
62
|
+
- bin/file.sqlite3
|
62
63
|
- lib/csv_to_sqlite/parser.rb
|
63
64
|
- lib/csv_to_sqlite/runner.rb
|
64
65
|
- lib/csv_to_sqlite.rb
|