db 0.8.0 → 0.8.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b99d4c7411ec402a465403035740d0ecec4827992808204a2f3e6a3ef6747f5f
4
- data.tar.gz: da794cd95025fbc95034ea0a7d48853ba5c57d7c0f3f3b2b5d312139628f5c11
3
+ metadata.gz: 4cde27a0a6510347217c2823470f138bd5d35bac35292f0ff7a085ec5c37c26c
4
+ data.tar.gz: 4e597ecdbfb05092a2a5c7f3f57ea2816ac16e7cfd05f5b1ca92ffeabe298fc0
5
5
  SHA512:
6
- metadata.gz: 32c37129983d4b02a00eb42469a5be479909c24a2777c136eb2768f7ecb848b8061dad4f73ea7d5aa984b39a22f9295546a21122da548a2f529e6b5ffefe8ee3
7
- data.tar.gz: 90919ecaa9a3ab9aa715ee9ce38cc1deb622e6c515d343e9b2a92a8b4f6c7ff1655053cd0552e4c8a9f68837366acca29d9f7d838ee597e98f41b0e4e1e948d9
6
+ metadata.gz: 829dd25eeaf87078bfaee1f719040abae45fcd531cd00e68dc57e6abc6cad637fbd95e60bcd0305945f580eba893ea52c5a9f341dcca9e01b5f963b64256209c
7
+ data.tar.gz: 2a6726e95b389ad06810f0c14cd4abdb90997aa3bfe419aff8a284feff613c879b36d170f7392078e078719e831070419535258fd65a1b4e42c593a0015435a1
@@ -46,8 +46,8 @@ module DB
46
46
  end
47
47
  end
48
48
 
49
- def clause(*arguments)
50
- Query.new(self).clause(*arguments)
49
+ def clause(fragment = String.new)
50
+ Query.new(self, fragment)
51
51
  end
52
52
 
53
53
  def query(fragment = String.new, **parameters)
data/lib/db/query.rb CHANGED
@@ -23,22 +23,16 @@
23
23
  module DB
24
24
  # Represents one or more identifiers for databases, tables or columns.
25
25
  class Identifier < Array
26
- # Construct an identifier from an array of names.
27
- # e.g. `DB::Identifier[:mytable, :mycolumn]`
28
- #
29
- # @parameter names [Array] The array of names.
30
- def self.[](*names)
31
- self.new(names)
32
- end
33
-
34
26
  def self.coerce(name_or_identifier)
35
27
  case name_or_identifier
36
28
  when Identifier
37
29
  name_or_identifier
38
- when Symbol
30
+ when Array
39
31
  self.new(name_or_identifier)
32
+ when Symbol
33
+ self[name_or_identifier]
40
34
  else
41
- self.new(name_or_identifier.to_sym)
35
+ self[name_or_identifier.to_sym]
42
36
  end
43
37
  end
44
38
 
@@ -61,7 +55,7 @@ module DB
61
55
  # @parameter value [String] A raw SQL string, e.g. `WHERE x > 10`.
62
56
  # @returns [Query] The mutable query itself.
63
57
  def clause(value)
64
- @buffer << ' ' unless @buffer.end_with?(' ')
58
+ @buffer << ' ' unless @buffer.end_with?(' ') || @buffer.empty?
65
59
 
66
60
  @buffer << value
67
61
 
data/lib/db/version.rb CHANGED
@@ -21,5 +21,5 @@
21
21
  # THE SOFTWARE.
22
22
 
23
23
  module DB
24
- VERSION = "0.8.0"
24
+ VERSION = "0.8.1"
25
25
  end
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.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-04 00:00:00.000000000 Z
11
+ date: 2021-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-io