-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathsql.rb
More file actions
55 lines (46 loc) · 1.33 KB
/
sql.rb
File metadata and controls
55 lines (46 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
require File.expand_path("../example_setup", __FILE__)
require "github/sql"
################################# Class Style ##################################
sql = GitHub::SQL.run <<-SQL, key: "foo", value: "bar"
INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)
SQL
p sql.last_insert_id
# 1
p GitHub::SQL.value <<-SQL, key: "foo"
SELECT value FROM example_key_values WHERE `key` = :key
SQL
# "bar"
sql = GitHub::SQL.run <<-SQL, key: "foo", value: "new value"
UPDATE example_key_values SET value = :value WHERE `key` = :key
SQL
p sql.affected_rows
# 1
sql = GitHub::SQL.run <<-SQL, key: "foo"
DELETE FROM example_key_values WHERE `key` = :key
SQL
p sql.affected_rows
# 1
################################ Instance Style ################################
sql = GitHub::SQL.new <<-SQL, key: "foo", value: "bar"
INSERT INTO example_key_values (`key`, `value`) VALUES (:key, :value)
SQL
sql.run
p sql.last_insert_id
# 2
sql = GitHub::SQL.new <<-SQL, key: "foo"
SELECT value FROM example_key_values WHERE `key` = :key
SQL
p sql.value
# "bar"
sql = GitHub::SQL.new <<-SQL, key: "foo", value: "new value"
UPDATE example_key_values SET value = :value WHERE `key` = :key
SQL
sql.run
p sql.affected_rows
# 1
sql = GitHub::SQL.new <<-SQL, key: "foo"
DELETE FROM example_key_values WHERE `key` = :key
SQL
sql.run
p sql.affected_rows
# 1