db 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.
|