db 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/db/context/session.rb +1 -1
- data/lib/db/query.rb +31 -2
- data/lib/db/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5741adecd898ba3ad01d4d2ad42b51cf88de2084ce080c8494c65bc552728f25
|
4
|
+
data.tar.gz: d94a215a5db2241ad142515c31911e27eebdba154c0855aa7f1b523a499862fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5be7655b2006158c711551fce4674ca60278299fcc27e91cab13b617599c9a803e338270807547c08d0e810a94984449e3090684afcf682a097c71c1f2de8344
|
7
|
+
data.tar.gz: e1c6cf1c0fad9a3b9e40602f575990f674792b2995a39da336f8489832379da4987dcd0b791ef8e4fa7031dfbefb97b90fa81a7adeeb65ebce7e502d8b0fee88
|
data/lib/db/context/session.rb
CHANGED
data/lib/db/query.rb
CHANGED
@@ -30,16 +30,31 @@ module DB
|
|
30
30
|
def self.[](*names)
|
31
31
|
self.new(names)
|
32
32
|
end
|
33
|
+
|
34
|
+
def self.coerce(name_or_identifier)
|
35
|
+
case name_or_identifier
|
36
|
+
when Identifier
|
37
|
+
name_or_identifier
|
38
|
+
when Symbol
|
39
|
+
self.new(name_or_identifier)
|
40
|
+
else
|
41
|
+
self.new(name_or_identifier.to_sym)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def append_to(query)
|
46
|
+
query.identifier(self)
|
47
|
+
end
|
33
48
|
end
|
34
49
|
|
35
50
|
# A mutable query builder.
|
36
51
|
class Query
|
37
52
|
# Create a new query builder attached to the specified session.
|
38
53
|
# @parameter session [Context::Session] the connected session which is used for escaping arguments.
|
39
|
-
def initialize(session)
|
54
|
+
def initialize(session, buffer = String.new)
|
40
55
|
@session = session
|
41
56
|
@connection = session.connection
|
42
|
-
@buffer =
|
57
|
+
@buffer = +buffer
|
43
58
|
end
|
44
59
|
|
45
60
|
# Append a raw textual clause to the query buffer.
|
@@ -98,6 +113,12 @@ module DB
|
|
98
113
|
return self
|
99
114
|
end
|
100
115
|
|
116
|
+
def key_column(*arguments, **options)
|
117
|
+
@buffer << @connection.key_column(*arguments, **options)
|
118
|
+
|
119
|
+
return self
|
120
|
+
end
|
121
|
+
|
101
122
|
# Send the query to the remote server to be executed. See {Context::Session#send_query} for more details.
|
102
123
|
def send
|
103
124
|
@session.send_query(@buffer)
|
@@ -108,5 +129,13 @@ module DB
|
|
108
129
|
def call
|
109
130
|
@session.call(@buffer)
|
110
131
|
end
|
132
|
+
|
133
|
+
def to_s
|
134
|
+
@buffer
|
135
|
+
end
|
136
|
+
|
137
|
+
def inspect
|
138
|
+
"\#<#{self.class} #{@buffer.inspect}>"
|
139
|
+
end
|
111
140
|
end
|
112
141
|
end
|
data/lib/db/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async-io
|
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: '0'
|
114
114
|
requirements: []
|
115
|
-
rubygems_version: 3.
|
115
|
+
rubygems_version: 3.2.3
|
116
116
|
signing_key:
|
117
117
|
specification_version: 4
|
118
118
|
summary: A low level database access gem.
|