db-mariadb 0.8.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
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