jdbc_helpers 0.0.4-java → 0.0.6-java
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/jdbc_helpers.rb +28 -21
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7f85827e1c234dcb88a62015b2f2de4dea9c06c
|
4
|
+
data.tar.gz: e99016387289fb2ac8c9ad5abf51c7afafa6a3e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b9b5a0cf7fbf224919c699a578aa209c1d96fe20775a9525bb35e5234c9af800711ffa6e8c586b9f802b0128fd12af797545b5bbc566812297055335a62d6c0
|
7
|
+
data.tar.gz: 8c96d26e289abed594d19372e8bf2f5405958109295ac3e0aa4fa1be59aeb6358ad5824c2c0c0eacdd8cd077247713a5fc1ad0b4b1914f905babd8adf894ada3
|
data/lib/jdbc_helpers.rb
CHANGED
@@ -19,10 +19,10 @@ module JDBCHelpers
|
|
19
19
|
'<removed>'
|
20
20
|
).gsub(/\s+/,' ')
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
# Array of classes that should be casted to Strings
|
24
24
|
# @return [Array<Class>]
|
25
|
-
def
|
25
|
+
def convert_to_ruby_time_classes
|
26
26
|
[Java::JavaSql::Timestamp, Java::JavaSql::Date]
|
27
27
|
end
|
28
28
|
end
|
@@ -30,11 +30,11 @@ module JDBCHelpers
|
|
30
30
|
# Creates a discreet JDBC connection and makes it available via connection attribute
|
31
31
|
class ConnectionFactory < JDBCHelpers::Base
|
32
32
|
attr_accessor :connection
|
33
|
-
|
33
|
+
|
34
34
|
# @param [String] jdbc_url
|
35
35
|
# @param [String] db_user
|
36
36
|
# @param [String] db_pass
|
37
|
-
# @param [Logger] logger object otherwise will default to new Logger
|
37
|
+
# @param [Logger] logger object otherwise will default to new Logger
|
38
38
|
def initialize(jdbc_url, db_user, db_pass, logger = nil)
|
39
39
|
@logger = logger ? logger : Logger.new(STDOUT)
|
40
40
|
@logger.info("connecting to #{jdbc_url} as user #{db_user}...")
|
@@ -55,7 +55,7 @@ module JDBCHelpers
|
|
55
55
|
|
56
56
|
# @param [Object] db_connect active connection against which to execute statement
|
57
57
|
# @param [String] statement SQL statement text
|
58
|
-
# @param [Logger] logger object otherwise will default to new Logger
|
58
|
+
# @param [Logger] logger object otherwise will default to new Logger
|
59
59
|
def initialize(db_connect, statement, logger = nil)
|
60
60
|
@logger = logger ? logger : Logger.new(STDOUT)
|
61
61
|
stmt = db_connect.create_statement
|
@@ -72,10 +72,10 @@ module JDBCHelpers
|
|
72
72
|
class SingleValueFromQuery < JDBCHelpers::Base
|
73
73
|
# Value of the first field from the first row. class will vary.
|
74
74
|
attr_accessor :result
|
75
|
-
|
75
|
+
|
76
76
|
# @param [Object] db_connect active connection against which to execute statement
|
77
77
|
# @param [String] statement SQL statement text
|
78
|
-
# @param [Logger] logger object otherwise will default to new Logger
|
78
|
+
# @param [Logger] logger object otherwise will default to new Logger
|
79
79
|
def initialize(db_connect, statement, logger = nil)
|
80
80
|
@logger = logger ? logger : Logger.new(STDOUT)
|
81
81
|
stmt = db_connect.create_statement
|
@@ -91,7 +91,7 @@ module JDBCHelpers
|
|
91
91
|
|
92
92
|
#the below simplifies things... especially comparisons
|
93
93
|
#if you don't like it you can write your own damn helper!
|
94
|
-
value = value.
|
94
|
+
value = Time.at(value.get_time / 1000).utc if convert_to_ruby_time_classes.include?(value.class)
|
95
95
|
@result = value
|
96
96
|
end
|
97
97
|
end
|
@@ -100,10 +100,10 @@ module JDBCHelpers
|
|
100
100
|
class QueryResultsToArray < JDBCHelpers::Base
|
101
101
|
# Contains the array of hashes returned from the select query
|
102
102
|
attr_accessor :results
|
103
|
-
|
103
|
+
|
104
104
|
# @param [Object] db_connect active connection against which to execute statement
|
105
105
|
# @param [String] statement SQL statement text
|
106
|
-
# @param [Logger] logger object otherwise will default to new Logger
|
106
|
+
# @param [Logger] logger object otherwise will default to new Logger
|
107
107
|
def initialize(db_connect, statement, logger = nil)
|
108
108
|
@logger = logger ? logger : Logger.new(STDOUT)
|
109
109
|
stmt = db_connect.create_statement
|
@@ -133,8 +133,8 @@ module JDBCHelpers
|
|
133
133
|
# add each row to r
|
134
134
|
(1..cols).each do |c|
|
135
135
|
r[meta.get_column_name(c)] = rs.getObject(c)
|
136
|
-
if
|
137
|
-
r[meta.get_column_name(c)] = r[meta.get_column_name(c)].
|
136
|
+
if convert_to_ruby_time_classes.include?(r[meta.get_column_name(c)].class)
|
137
|
+
r[meta.get_column_name(c)] = Time.at(r[meta.get_column_name(c)].get_time / 1000).utc
|
138
138
|
end
|
139
139
|
end # each cols
|
140
140
|
|
@@ -154,7 +154,7 @@ module JDBCHelpers
|
|
154
154
|
# @param [Object] db_connect active connection against which to execute statement
|
155
155
|
# @param [String] statement SQL statement text
|
156
156
|
# @param [String] key_field SQL result set field containing the key to be used in the top level of hash
|
157
|
-
# @param [Logger] logger object otherwise will default to new Logger
|
157
|
+
# @param [Logger] logger object otherwise will default to new Logger
|
158
158
|
def initialize(db_connect, statement, key_field, logger = nil)
|
159
159
|
@logger = logger ? logger : Logger.new(STDOUT)
|
160
160
|
stmt = db_connect.create_statement
|
@@ -196,8 +196,8 @@ module JDBCHelpers
|
|
196
196
|
# add each row to r
|
197
197
|
(1..cols).each do |c|
|
198
198
|
r[meta.get_column_name(c)] = rs.getObject(c)
|
199
|
-
if
|
200
|
-
r[meta.get_column_name(c)] = r[meta.get_column_name(c)].
|
199
|
+
if convert_to_ruby_time_classes.include?(r[meta.get_column_name(c)].class)
|
200
|
+
r[meta.get_column_name(c)] = Time.at(r[meta.get_column_name(c)].get_time / 1000).utc
|
201
201
|
end
|
202
202
|
end # each cols
|
203
203
|
|
@@ -221,7 +221,7 @@ module JDBCHelpers
|
|
221
221
|
# @param [String] statement SQL statement text
|
222
222
|
# @param [IO] file_object IO object to receive the formatted results
|
223
223
|
# @param [proc] formatter proc to handle the actual formatting, defaults to JSON if nil
|
224
|
-
# @param [Logger] logger object otherwise will default to new Logger
|
224
|
+
# @param [Logger] logger object otherwise will default to new Logger
|
225
225
|
def initialize(db_connect, statement, file_object, formatter = nil, logger = nil)
|
226
226
|
@logger = logger ? logger : Logger.new(STDOUT)
|
227
227
|
stmt = db_connect.create_statement
|
@@ -246,7 +246,7 @@ module JDBCHelpers
|
|
246
246
|
# get basic metadata for the recordset
|
247
247
|
meta = rs.getMetaData
|
248
248
|
cols = meta.getColumnCount.to_i
|
249
|
-
|
249
|
+
|
250
250
|
record_count = 0
|
251
251
|
# loop through the records to add them into hash
|
252
252
|
while rs.next do
|
@@ -257,8 +257,8 @@ module JDBCHelpers
|
|
257
257
|
# add each row to r
|
258
258
|
(1..cols).each do |c|
|
259
259
|
r[meta.get_column_name(c)] = rs.getObject(c)
|
260
|
-
if
|
261
|
-
r[meta.get_column_name(c)] = r[meta.get_column_name(c)].
|
260
|
+
if convert_to_ruby_time_classes.include?(r[meta.get_column_name(c)].class)
|
261
|
+
r[meta.get_column_name(c)] = Time.at(r[meta.get_column_name(c)].get_time / 1000).utc
|
262
262
|
end
|
263
263
|
end # each cols
|
264
264
|
|
@@ -268,11 +268,18 @@ module JDBCHelpers
|
|
268
268
|
end # while
|
269
269
|
return record_count
|
270
270
|
end
|
271
|
-
|
271
|
+
|
272
272
|
# proc must handle two inputs, |file_object, record hash|
|
273
273
|
# @return [proc] returns proc to output json
|
274
274
|
def json_formatter
|
275
|
-
Proc.new
|
275
|
+
Proc.new do |f,h|
|
276
|
+
h.keys.each do |k|
|
277
|
+
if h[k].class == Float
|
278
|
+
h[k] = nil if (h[k].nan? or h[k].infinite?)
|
279
|
+
end
|
280
|
+
end
|
281
|
+
f.puts h.to_json
|
282
|
+
end
|
276
283
|
end
|
277
284
|
end # class
|
278
285
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jdbc_helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- jeremy winters
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
65
65
|
version: '0'
|
66
66
|
requirements: []
|
67
67
|
rubyforge_project:
|
68
|
-
rubygems_version: 2.6.
|
68
|
+
rubygems_version: 2.6.6
|
69
69
|
signing_key:
|
70
70
|
specification_version: 4
|
71
71
|
summary: helpers for jdbc interaction
|