trials 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trials/utils/sqls.rb +11 -59
- data/lib/trials.rb +1 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 809340a33b98fbad348d852817f5cf96e02ad21d7dfbfcc767e7c04a7db32358
|
4
|
+
data.tar.gz: a3fdf41a7cfff4aa83189e363fec665e78b608e86db51d73342f391352a10b72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d8e3bd235ceb82f6544ec6b016ec9e73f0721693902eaa451441b651d15cb3b31b2e0e0343cc79542f82dfb1a17f2a07127fe7ae5d19bf03e613932f446b30e
|
7
|
+
data.tar.gz: fa0849b0e9b847c33ab1d22eeba40a45211080dd2a4bf5c3f148bfb4ea68c32549e2c5910a85adeb80c4d6ea3c138505618cc94803963090e3d223ef576a2130
|
data/lib/trials/utils/sqls.rb
CHANGED
@@ -1,70 +1,22 @@
|
|
1
|
-
def
|
2
|
-
|
3
|
-
|
4
|
-
attr_chars = attrs
|
5
|
-
.map { |a| "#{a} varchar" }
|
6
|
-
.join(', ')
|
7
|
-
|
8
|
-
value_tuples = hashes
|
9
|
-
.map { |s| '(' + attrs.map { |a| "'#{s.dig(a) }'" }.join(', ') + ')' }
|
10
|
-
.join(",\n")
|
11
|
-
|
12
|
-
<<~SQL
|
13
|
-
create temp table seed_data (
|
14
|
-
#{attr_chars}
|
15
|
-
);
|
16
|
-
|
17
|
-
insert into seed_data values
|
18
|
-
#{value_tuples};
|
19
|
-
SQL
|
20
|
-
end
|
21
|
-
|
22
|
-
def create_db(name)
|
23
|
-
db_loc = results_path("#{name}.db")
|
24
|
-
|
25
|
-
raise 'db already exists' if File.exist?(db_loc)
|
26
|
-
|
27
|
-
db = SQLite3::Database.new(db_loc)
|
1
|
+
def db(db_name = nil)
|
2
|
+
db_name ||= 'data.db'
|
3
|
+
db = SQLite3::Database.new(tmp_path(db_name))
|
28
4
|
db.results_as_hash = true
|
29
5
|
db
|
30
6
|
end
|
31
7
|
|
32
|
-
def
|
33
|
-
|
34
|
-
|
35
|
-
raise 'no db exists' unless File.exist?(db_loc)
|
36
|
-
|
37
|
-
db = SQLite3::Database.new(db_loc)
|
38
|
-
db.results_as_hash = true
|
39
|
-
db
|
8
|
+
def create_db(db_name = nil)
|
9
|
+
db(db_name)
|
40
10
|
end
|
41
11
|
|
42
|
-
def
|
43
|
-
|
44
|
-
attrs = attrs.map { |k, v| " #{k} #{v}" }.join(",\n")
|
45
|
-
sql = <<~SQL
|
46
|
-
create table #{table} (
|
47
|
-
#{attrs}
|
48
|
-
);
|
49
|
-
SQL
|
50
|
-
|
51
|
-
log sql if should_log
|
52
|
-
db.execute sql
|
12
|
+
def get_db(db_name = nil)
|
13
|
+
db(db_name)
|
53
14
|
end
|
54
15
|
|
55
|
-
def
|
56
|
-
|
57
|
-
keys_group = "(#{attrs.keys.join(', ')})"
|
58
|
-
values_group = "(#{(['?'] * attrs.values.length).join(', ')})"
|
59
|
-
sql = <<~SQL
|
60
|
-
insert into #{table} #{keys_group}
|
61
|
-
values #{values_group}
|
62
|
-
SQL
|
63
|
-
|
64
|
-
log sql if should_log
|
65
|
-
db.execute sql, attrs.values
|
16
|
+
def import_csv_into_db(db_name = 'data.db', table, csv)
|
17
|
+
system("sqlite3 -csv #{tmp_path(db_name)} '.import #{seed_path(csv)} #{table}'")
|
66
18
|
end
|
67
19
|
|
68
|
-
def query_db(
|
69
|
-
db.execute(query)
|
20
|
+
def query_db(db_name = nil, query)
|
21
|
+
db(db_name).execute(query).map(&:symbolize_keys)
|
70
22
|
end
|
data/lib/trials.rb
CHANGED