aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/guff/database-updater.cr2
-rw-r--r--src/guff/database.cr63
2 files changed, 15 insertions, 50 deletions
diff --git a/src/guff/database-updater.cr b/src/guff/database-updater.cr
index e06aff3..9a7bf97 100644
--- a/src/guff/database-updater.cr
+++ b/src/guff/database-updater.cr
@@ -25,7 +25,7 @@ module Guff
CREATE TABLE metadata (
name TEXT PRIMARY KEY,
value TEXT NOT NULL
- )
+ );
}, %{
INSERT INTO metadata(name, value) VALUES ('version', '1')
}, %{
diff --git a/src/guff/database.cr b/src/guff/database.cr
index cabc91c..e94a085 100644
--- a/src/guff/database.cr
+++ b/src/guff/database.cr
@@ -23,7 +23,7 @@ module Guff
)
r = nil
- bind(sql).execute do |rs|
+ run(sql).execute do |rs|
if rs.next
# FIXME
r = rs[0]
@@ -36,28 +36,11 @@ module Guff
def one(
sql : String,
- args : Array(String)
+ args : Array(String) | Hash(String, String)
)
r = nil
- bind(sql, args).execute do |rs|
- if rs.next
- # FIXME
- r = rs[0]
- end
- end
-
- # return result
- r
- end
-
- def one(
- sql : String,
- args : Hash(String, String),
- )
- r = nil
-
- bind(sql, args).execute do |rs|
+ run(sql, args).execute do |rs|
if rs.next
# FIXME
r = rs[0]
@@ -72,24 +55,7 @@ module Guff
r = nil
# exec query
- bind(sql).execute do |rs|
- if rs.next
- r = to_row(rs)
- end
- end
-
- # return result
- r
- end
-
- def row(
- sql : String,
- args : Array(String)
- )
- r = nil
-
- # exec query
- bind(sql, args).execute do |rs|
+ run(sql).execute do |rs|
if rs.next
r = to_row(rs)
end
@@ -101,12 +67,12 @@ module Guff
def row(
sql : String,
- args : Hash(String, String)
+ args : Array(String) | Hash(String, String)
)
r = nil
# exec query
- bind(sql, args).execute do |rs|
+ run(sql, args).execute do |rs|
if rs.next
r = to_row(rs)
end
@@ -118,11 +84,9 @@ module Guff
def all(
sql : String,
- args : Array(String),
&block : Proc(Hash(String, ::SQLite3::Value), Nil) \
)
- # build statement
- bind(sql, args).execute do |rs|
+ run(sql).execute do |rs|
# walk results
while rs.next
# build row and pass it to callback
@@ -130,15 +94,17 @@ module Guff
end
end
+ # close statement, return nil
nil
end
def all(
sql : String,
- args : Hash(String, String),
+ args : Array(String) | Hash(String, String),
&block : Proc(Hash(String, ::SQLite3::Value), Nil) \
)
- bind(sql, args).execute do |rs|
+ # build statement
+ run(sql, args).execute do |rs|
# walk results
while rs.next
# build row and pass it to callback
@@ -146,7 +112,6 @@ module Guff
end
end
- # close statement, return nil
nil
end
@@ -156,12 +121,12 @@ module Guff
query("COMMIT")
end
- private def bind(sql : String)
+ private def run(sql : String)
# build statement
prepare(sql)
end
- private def bind(
+ private def run(
sql : String,
args : Array(String)?
)
@@ -179,7 +144,7 @@ module Guff
st
end
- private def bind(
+ private def run(
sql : String,
args : Hash(String, String)?
)