db-mariadb 0.8.0 → 0.9.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: 1361a18c7962b2738a4517d48f0300ca47e251f59d244e6a8ea01bdbba1c52d6
4
- data.tar.gz: a3c8b3415077fcf85b24fbf7e14631d3255bb6493a27e01edecd815ab41e8049
3
+ metadata.gz: 75604546ecf46659812bbe2c6de68969f37b2955474023a05a3aaf408ef119ce
4
+ data.tar.gz: 5a5b2d50b1fa6bce1068630617e7aa255d03957aff7d6d27e1bd57d6007dae36
5
5
  SHA512:
6
- metadata.gz: 176fcc902974a6b081f3657cf5b8dbc31af020f0d173e145d171a9c7f78014a9c83f428e53ea66eeb9eefd2709a566a6211bc6fd6ea6e90096d8996a00af3041
7
- data.tar.gz: 002a0289ca400aaab4dfffe4e45c70cf1472a4583b49688c7499db33754736bc5ae10de983c18247428c9f709935300d2ab8c59209faa9e8343d85a39a019c0c
6
+ metadata.gz: 49f6a7730c1778e8565f4a8bb718b7acc0e12b2218149b2ec75aac1c65be455a4581cae5191b1153858ded54ebee8ef53a8a9fb8e9539d6686c115e0b77c9583
7
+ data.tar.gz: 43d89537ec81e9196c63aa05d2f3bd3466b3168487a98608309ddd3bd0b17b29b5aa7dfa6976eb550c34c08c22fd3c5c59851a7c39332c40fc7baa9f371d6e2f
@@ -49,6 +49,10 @@ module DB
49
49
 
50
50
  def append_literal(value, buffer = String.new)
51
51
  case value
52
+ when Time, DateTime
53
+ append_string(value.utc.strftime('%Y-%m-%d %H:%M:%S'), buffer)
54
+ when Date
55
+ append_string(value.strftime('%Y-%m-%d'), buffer)
52
56
  when Numeric
53
57
  buffer << value.to_s
54
58
  when TrueClass
@@ -86,10 +90,10 @@ module DB
86
90
 
87
91
  append_identifier(name, buffer)
88
92
 
89
- buffer << " BIGINT AUTO_INCREMENT"
93
+ buffer << " BIGINT"
90
94
 
91
95
  if primary
92
- buffer << " PRIMARY KEY"
96
+ buffer << " AUTO_INCREMENT PRIMARY KEY"
93
97
  elsif !null
94
98
  buffer << " NOT NULL"
95
99
  end
@@ -74,7 +74,7 @@ module DB
74
74
  year: Types::Integer,
75
75
  newdate: Types::DateTime,
76
76
  bit: Types::Integer,
77
- json: JSON,
77
+ json: Types::JSON,
78
78
  newdecimal: Types::Decimal,
79
79
  enum: Types::Symbol,
80
80
  set: Types::Integer,
@@ -109,6 +109,16 @@ module DB
109
109
  @connection.check_error!("Reading recordset")
110
110
  end
111
111
 
112
+ def map(&block)
113
+ results = []
114
+
115
+ self.each do |row|
116
+ results << yield(row)
117
+ end
118
+
119
+ return results
120
+ end
121
+
112
122
  def to_a
113
123
  rows = []
114
124
 
@@ -29,33 +29,41 @@ module DB
29
29
  module Types
30
30
  module Integer
31
31
  def self.parse(string)
32
- Integer(string)
32
+ Integer(string) if string
33
33
  end
34
34
  end
35
35
 
36
36
  module Decimal
37
37
  def self.parse(string)
38
- BigDecimal(string)
38
+ BigDecimal(string) if string
39
39
  end
40
40
  end
41
41
 
42
42
  module Float
43
43
  def self.parse(string)
44
- Float(string)
44
+ Float(string) if string
45
45
  end
46
46
  end
47
47
 
48
48
  module Symbol
49
49
  def self.parse(string)
50
- string.to_sym
50
+ string&.to_sym
51
51
  end
52
52
  end
53
53
 
54
54
  module DateTime
55
55
  def self.parse(string)
56
- parts = string.split(/[\-\s:]/)
57
-
58
- return Time.utc(*parts)
56
+ if string
57
+ parts = string.split(/[\-\s:]/)
58
+
59
+ return Time.utc(*parts)
60
+ end
61
+ end
62
+ end
63
+
64
+ module JSON
65
+ def self.parse(string)
66
+ ::JSON.parse(string, symbolize_names: true) if string
59
67
  end
60
68
  end
61
69
  end
@@ -20,6 +20,6 @@
20
20
 
21
21
  module DB
22
22
  module MariaDB
23
- VERSION = "0.8.0"
23
+ VERSION = "0.9.1"
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db-mariadb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.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-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi-module
@@ -114,7 +114,6 @@ executables: []
114
114
  extensions: []
115
115
  extra_rdoc_files: []
116
116
  files:
117
- - lib/.DS_Store
118
117
  - lib/db/mariadb.rb
119
118
  - lib/db/mariadb/adapter.rb
120
119
  - lib/db/mariadb/connection.rb
@@ -144,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
143
  - !ruby/object:Gem::Version
145
144
  version: '0'
146
145
  requirements: []
147
- rubygems_version: 3.2.3
146
+ rubygems_version: 3.1.2
148
147
  signing_key:
149
148
  specification_version: 4
150
149
  summary: An event-driven interface for MariaDB and MySQL servers.
data/lib/.DS_Store DELETED
Binary file