-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathsql_add.rb
More file actions
48 lines (42 loc) · 975 Bytes
/
Copy pathsql_add.rb
File metadata and controls
48 lines (42 loc) · 975 Bytes
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
require File.expand_path("../example_setup", __FILE__)
require "github/sql"
GitHub::SQL.run <<-SQL
INSERT INTO example_key_values (`key`, `value`)
VALUES ("foo", "bar"), ("baz", "wick")
SQL
sql = GitHub::SQL.new <<-SQL
SELECT `VALUE` FROM example_key_values
SQL
key = ENV["KEY"]
unless key.nil?
sql.add <<-SQL, key: key
WHERE `key` = :key
SQL
end
limit = ENV["LIMIT"]
unless limit.nil?
sql.add <<-SQL, limit: limit.to_i
ORDER BY `key` ASC
LIMIT :limit
SQL
end
p sql.results
# Only select value for key = foo
# $ env KEY=foo bundle exec ruby examples/sql_add.rb
# [["bar"]]
#
# Only select value for key = bar
# $ env KEY=bar bundle exec ruby examples/sql_add.rb
# []
#
# Only select value for key = baz
# $ env KEY=baz bundle exec ruby examples/sql_add.rb
# [["wick"]]
#
# Select all values
# $ bundle exec ruby examples/sql_add.rb
# [["bar"], ["wick"]]
#
# Select only 1 key.
# $ env LIMIT=1 bundle exec ruby examples/sql_add.rb
# [["wick"]]